{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "fba6fdd2",
   "metadata": {},
   "outputs": [],
   "source": [
    "from gurobipy import *\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e8d58f4c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# input parameters \n",
    "w0 = 1320\n",
    "w1 = 3000\n",
    "\n",
    "w2 = 2000\n",
    "w3 = 4400\n",
    "v = 5000\n",
    "\n",
    "yl = 1310\n",
    "yu = 3600\n",
    "wmin=1310\n",
    "\n",
    "samples =2000  # 样本数量\n",
    "## when sample is set to be 4000, the solution for model 1 will become robust\n",
    "\n",
    "\n",
    "##input model parameters\n",
    "M = 1000000\n",
    "num = 10\n",
    "beta_x = [(i+1)/num for i in range(num)]   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "55825110",
   "metadata": {},
   "outputs": [],
   "source": [
    "def generate_sample(sample_num):\n",
    "    # wf\n",
    "    samples1 = [0 for i in range(sample_num)]\n",
    "    # wu\n",
    "    samples2 = [0 for i in range(sample_num)]\n",
    "    # y\n",
    "    samples3 = [0 for i in range(sample_num)]\n",
    "    for i in range(sample_num):\n",
    "        samples1[i] = np.random.uniform(w0, w1)\n",
    "        samples2[i] = np.random.uniform(w2, w3)\n",
    "        samples3[i] = np.random.uniform(yl, yu)\n",
    "    return samples1,samples2,samples3\n",
    "\n",
    "wf1,wu1,y = generate_sample(samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4cd95061",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using license file c:\\gurobi\\gurobi.lic\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0x3e6f2843\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [1e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.3475197\n",
      "Presolve removed 12000 rows and 8001 columns\n",
      "Presolve time: 0.05s\n",
      "Presolve: All rows and columns removed\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.07 seconds\n",
      "Thread count was 1 (of 16 available processors)\n",
      "\n",
      "Solution count 2: 0.34752 0.34752 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 3.475195698928e-01, best bound 3.475195698928e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0xd202c6c8\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [2e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.2475195\n",
      "Presolve removed 12000 rows and 8001 columns\n",
      "Presolve time: 0.04s\n",
      "Presolve: All rows and columns removed\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.07 seconds\n",
      "Thread count was 1 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.24752 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 2.475195698928e-01, best bound 2.475195698928e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0xaa8fc473\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [3e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.1509466\n",
      "Presolve removed 12000 rows and 8001 columns\n",
      "Presolve time: 0.05s\n",
      "Presolve: All rows and columns removed\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.07 seconds\n",
      "Thread count was 1 (of 16 available processors)\n",
      "\n",
      "Solution count 2: 0.150947 0.150947 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.509466039037e-01, best bound 1.509466039037e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0xc91d8bc8\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [4e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.0926881\n",
      "Presolve removed 12000 rows and 8001 columns\n",
      "Presolve time: 0.04s\n",
      "Presolve: All rows and columns removed\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.05 seconds\n",
      "Thread count was 1 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.0926881 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 9.268810022479e-02, best bound 9.268810022479e-02, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0x31c8b5af\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [5e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.0925475\n",
      "Presolve removed 11728 rows and 7863 columns\n",
      "Presolve time: 0.19s\n",
      "Presolved: 272 rows, 138 columns, 544 nonzeros\n",
      "Found heuristic solution: objective 0.0925475\n",
      "Variable types: 1 continuous, 137 integer (137 binary)\n",
      "\n",
      "Root relaxation: objective 9.078585e-02, 59 iterations, 0.01 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.09156    0   29    0.09255    0.09156  1.07%     -    0s\n",
      "H    0     0                       0.0923847    0.09156  0.89%     -    0s\n",
      "H    0     0                       0.0923414    0.09156  0.85%     -    0s\n",
      "     0     0    0.09218    0    2    0.09234    0.09218  0.18%     -    0s\n",
      "     0     0    0.09221    0    4    0.09234    0.09221  0.14%     -    0s\n",
      "H    0     0                       0.0922657    0.09221  0.06%     -    0s\n",
      "     0     0    0.09221    0    4    0.09227    0.09221  0.06%     -    0s\n",
      "\n",
      "Explored 1 nodes (177 simplex iterations) in 0.44 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 5: 0.0922657 0.0923414 0.0923847 ... 0.0925475\n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 9.226568791572e-02, best bound 9.226568791572e-02, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0x97a170e0\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [6e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.1556109\n",
      "Presolve removed 10280 rows and 7139 columns\n",
      "Presolve time: 0.19s\n",
      "Presolved: 1720 rows, 862 columns, 3440 nonzeros\n",
      "Found heuristic solution: objective 0.1544891\n",
      "Variable types: 1 continuous, 861 integer (861 binary)\n",
      "\n",
      "Root relaxation: objective 1.153893e-01, 331 iterations, 0.03 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.11539    0  322    0.15449    0.11539  25.3%     -    0s\n",
      "H    0     0                       0.1284817    0.11539  10.2%     -    0s\n",
      "H    0     0                       0.1203609    0.11539  4.13%     -    0s\n",
      "H    0     0                       0.1200811    0.11539  3.91%     -    0s\n",
      "     0     0    0.11951    0   72    0.12008    0.11951  0.48%     -    0s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 371\n",
      "  Clique: 23\n",
      "  MIR: 35\n",
      "\n",
      "Explored 1 nodes (842 simplex iterations) in 0.83 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 5: 0.120081 0.120361 0.128482 ... 0.155611\n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.200811430389e-01, best bound 1.200811430389e-01, gap 0.0000%\n",
      "Discarded solution information\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0x9385d6b4\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [7e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.2524844\n",
      "Presolve removed 10315 rows and 7157 columns\n",
      "Presolve time: 0.23s\n",
      "Presolved: 1685 rows, 844 columns, 3370 nonzeros\n",
      "Found heuristic solution: objective 0.2485678\n",
      "Variable types: 1 continuous, 843 integer (843 binary)\n",
      "\n",
      "Root relaxation: objective 1.588220e-01, 62 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.15882    0   18    0.24857    0.15882  36.1%     -    0s\n",
      "H    0     0                       0.1596368    0.15882  0.51%     -    0s\n",
      "H    0     0                       0.1588269    0.15882  0.00%     -    0s\n",
      "     0     0    0.15882    0   18    0.15883    0.15882  0.00%     -    0s\n",
      "\n",
      "Explored 1 nodes (62 simplex iterations) in 0.34 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 4: 0.158827 0.159637 0.248568 0.252484 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.588269012781e-01, best bound 1.588269012781e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0xd3b635ae\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [8e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.3524804\n",
      "Presolve removed 10315 rows and 7157 columns\n",
      "Presolve time: 0.23s\n",
      "Presolved: 1685 rows, 844 columns, 3370 nonzeros\n",
      "Found heuristic solution: objective 0.3484924\n",
      "Variable types: 1 continuous, 843 integer (843 binary)\n",
      "\n",
      "Root relaxation: objective 2.243704e-01, 0 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.2243704    0.22437  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.30 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 3: 0.22437 0.348492 0.35248 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 2.243703571746e-01, best bound 2.243703571746e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0x0a542e03\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [9e-01, 1e+06]\n",
      "Found heuristic solution: objective 0.4524805\n",
      "Presolve removed 10315 rows and 7157 columns\n",
      "Presolve time: 0.16s\n",
      "Presolved: 1685 rows, 844 columns, 3370 nonzeros\n",
      "Found heuristic solution: objective 0.4484924\n",
      "Variable types: 1 continuous, 843 integer (843 binary)\n",
      "\n",
      "Root relaxation: objective 3.147381e-01, 0 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.3147381    0.31474  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.24 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 3: 0.314738 0.448492 0.452481 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 3.147380976836e-01, best bound 3.147380976836e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 12000 rows, 8001 columns and 24000 nonzeros\n",
      "Model fingerprint: 0x70e381c0\n",
      "Variable types: 6001 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [1e+00, 1e+06]\n",
      "Found heuristic solution: objective 0.5524804\n",
      "Presolve removed 10315 rows and 7157 columns\n",
      "Presolve time: 0.18s\n",
      "Presolved: 1685 rows, 844 columns, 3370 nonzeros\n",
      "Found heuristic solution: objective 0.5484924\n",
      "Variable types: 1 continuous, 843 integer (843 binary)\n",
      "\n",
      "Root relaxation: objective 4.147381e-01, 0 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.4147381    0.41474  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.26 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 3: 0.414738 0.548492 0.55248 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 4.147380976836e-01, best bound 4.147380976836e-01, gap 0.0000%\n",
      "Discarded solution information\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABI8AAAHfCAYAAADZQ/hSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA4KElEQVR4nO3deZRd5X0m6vdTaUQDgxBiEPMgCQzYRh6wgQgMGMygIY4nICuddtzpJPbK8urO0Ekn7o6dwZ2bdHe6k9jdzr3pFHYH23XEPNjYBGODY2EbCVNHQswCBGIUAo1V+/6B4gFUqAQ6tc/wPGvVYqvqO6fe4luntOvV/u0qVVUFAAAAAHZmXN0BAAAAAGhfyiMAAAAARqQ8AgAAAGBEyiMAAAAARqQ8AgAAAGBEyiMAAAAARjS+7gC7a//996+OOOKIumMAAAAAdI0777zzqaqqZu3sYx1XHh1xxBFZvnx53TEAAAAAukYp5aGRPmZsDQAAAIARKY8AAAAAGJHyCAAAAIARddw9j3Zm27ZtWbt2bTZv3lx3lNpMnjw5c+bMyYQJE+qOAgAAAHSRriiP1q5dm+nTp+eII45IKaXuOGOuqqo8/fTTWbt2bY488si64wAAAABdpCvG1jZv3pyZM2f2ZHGUJKWUzJw5s6evvAIAAABaoyvKoyQdWxwNDQ3tkefp1K8fAAAAaG9dUx61gzVr1uQjH/lIhoeHMzw8nAsvvDBJcsEFF/z4fe9///sze/bsXHjhhZk1a1Y+9alP5e///u+zbt26nH322dm+fXvNXwUAAADATyiP9qDJkydn4sSJWb16dc4888z88z//cxYuXJg77rgjZ555Zm6//fZ85Stfydvf/vZcc801Ofnkk/NHf/RH+d73vpfNmzdn8uTJGT++K25DBQAAAHQJTcUe0mw2c8UVV2T16tVZtWpVPvzhD+epp57KnDlzsmrVqsyYMSObNm3KL//yL+euu+7KRz/60QwODuZXfuVXMmnSpLrjAwAAAOxU15VHv3nDb+aH6364R5/zzQe+Of/1vP/6mmvmzZuXAw88MNOnT8/xxx+fL37xi3niiSd+/PHnnnsun/jEJ7L//vvnoYceyp/+6Z9m9erV+fSnP50/+IM/yJYtW3689l/ug9TX17fTzzU0NJRSSsaNc+EYAAAA0Frahz1keHg4X/ziFzM0NJTf/u3fzvDwcH7zN3/zx2+HHHJIkuTP/uzP8tGPfjT7779/tm3bltmzZ+dzn/tcNmzYkMceeyxJ8sd//MeZPn169tlnn52+TZ8+PV/4whfq/HIBAACAHlGqqqo7w25ZsGBBtXz58p953+DgYObPn19Topf99//+37N+/fo88sgj+cxnPpONGzfm2Wefzb/7d/8uf/7nf56JEyfmgAMOyBVXXJFPfvKTSZK/+qu/ykEHHZT3v//9ufnmm/Piiy/m4osvft0Z2uH/AwAAANB5Sil3VlW1YGcf67qxtbpccskleeGFF/KpT30q69aty6/92q8lSVatWpVf+qVfyoEHHpiPf/zjmTNnTs4444xMnDgx69evz5YtW/K3f/u32b59e37hF36h5q8CAAAA4Gcpj/aQmTNnZtOmTUmSU045Jd/85jfziU98Iv/jf/yPfOYzn8lnPvOZnHDCCUmSD3zgA0mSZcuWZe3atfmN3/iN2nIDAAAAvJaWl0ellNlJvlJV1emvseYLSY5Pcm1VVZ9udaZW2bZtW7Zt25avfvWr+T//5//kD//wD/PWt741n/vc5/LhD384ixcvzle/+tVMmDAhSfLMM89ky5YtWbZsWZKXb4S9dOnSfPzjH6/xqwAAAAD4iZbe86iUsm+SLyU5oKqqt46wZmmSi6uq+qVSyt8l+ZOqqu4d6Tnb9Z5HP2379u0ZP/7VvdxI799T2u3/AwDQ3TZt25QtQ1t2vRAAuti0idMyflznD3bVec+joSQfTHLla6xZmOSKHcc3JTktyc+UR6WUjyX5WJIcdthhezzknjZSQdTK4ggAYCytfnp1TvybE7N1aGvdUQCgVt/55e/k1ENPrTtGS7W0zaiqakOSlFJea9nUJI/uOH4myauuUKqq6vNJPp+8fOXRCJ9rV5+nq3Xab80DADrbFT+6IluHtubPzv6zTOybWHccAKjNEfscUXeElmuHS2E2Jpmy43haknG7+wSTJ0/O008/nZkzZ/ZkgVRVVZ5++ulMnjy57igAQI8YGBzIqXNOzW+9+7fqjgIAtFg7lEd35uVRtTuSnJxk1e4+wZw5c7J27dqsX79+T2frGJMnT86cOXPqjgEA9IAHn3swP1j3g3z27M/WHQUAGANjWh6VUo5P8pGqqn7/p969LMm3SikHJzk/yTt393knTJiQI488cs+EBADgNS1rLkuSLJm/pN4gAMCY2O0RsdejqqqFO/57zyuKo3+5L9LCvHzl0ZlVVT0/FpkAAHh9BgYHcuIBJ+aY/Y6pOwoAMAbGpDzalaqqnq2q6oqqqtbVnQUAgJE9+eKTue3h27JknquOAKBXtEV5BABAZ7hq1VWpUhlZA4AeojwCAGDUBgYHcuQ+R+bk2SfXHQUAGCPKIwAARmXDlg25+YGbs2TekpRS6o4DAIwR5REAAKNy3b3XZevQViNrANBjlEcAAIzKwOBAZk+dnVPnnFp3FABgDCmPAADYpc3bN+f6Nddn0dxF6RvXV3ccAGAMKY8AANilr9//9WzcutHIGgD0IOURAAC7NDA4kBmTZuSsI8+qOwoAMMaURwAAvKbtw9tz1aqrcuFxF2Zi38S64wAAY0x5BADAa7rt4dvy9Kans2SekTUA6EXKIwAAXtPA4EAmj5+c8445r+4oAEANlEcAAIyoqqosay7LuUefm2kTp9UdBwCogfIIAIAR3fn4nXlkwyNG1gCghymPAAAY0cDgQPpKXy467qK6owAANVEeAQAwokazkZ874ucyc6+ZdUcBAGqiPAIAYKcG1w+m+VTTyBoA9DjlEQAAO9VoNpIki+ctrjcIAFAr5REAADvVaDby9kPenjkz5tQdBQCokfIIAIBXefj5h7P8seVG1gAA5REAAK+2rLksSbJ0/tJ6gwAAtVMeAQDwKo1mI8fPOj7HzTyu7igAQM2URwAA/IynXnoqtz50q5E1ACCJ8ggAgFe4atVVGa6GjawBAEmURwAAvEKj2cjhex+etxz4lrqjAABtQHkEAMCPvbDlhXztvq9l8bzFKaXUHQcAaAPKIwAAfuz6Nddny9AWI2sAwI8pjwAA+LFGs5FZe83Kuw99d91RAIA2oTwCACBJsmX7lly7+tpcPPfi9I3rqzsOANAmlEcAACRJbn7g5ryw9QUjawDAz1AeAQCQJGkMNjJ94vS858j31B0FAGgjyiMAADI0PJQrV12Z9x37vkwaP6nuOABAG1EeAQCQbz/y7ax/ab2RNQDgVZRHAACkMdjIpL5JOf+Y8+uOAgC0GeURAECPq6oqjWYjZx91dqZPml53HACgzSiPAAB63A/W/SAPPf+QkTUAYKeURwAAPa4x2Mi4Mi4XHXdR3VEAgDakPAIA6HGNZiOnH3Z6Zk2dVXcUAKANKY8AAHrY6qdX50frf2RkDQAYkfIIAKCHNQYbSZLF8xbXGwQAaFvKIwCAHtZoNnLKQafksL0PqzsKANCmlEcAAD3q0Q2P5ruPftfIGgDwmpRHAAA9allzWZJkybwl9QYBANqa8ggAoEc1mo3MnTk382fNrzsKANDGlEcAAD3o6Zeezi0P3mJkDQDYJeURAEAPumb1NRmqhoysAQC7pDwCAOhBjWYjc2bMyYKDF9QdBQBoc8ojAIAe8+LWF3PjfTdmybwlKaXUHQcAaHPKIwCAHnPDmhuyeftmI2sAwKgojwAAekyj2cjMKTNz+uGn1x0FAOgAyiMAgB6ydWhrrll9TS6ee3HGjxtfdxwAoAMojwAAesg3H/hmnt/yvJE1AGDUlEcAAD2k0Wxk6oSpOefoc+qOAgB0COURAECPGBoeyrLmsrzv2Pdl8vjJdccBADqE8ggAoEfcsfaOPPHiE0bWAIDdojwCAOgRjWYjE8ZNyPuOfV/dUQCADqI8AgDoAVVVZWBwIGcfdXb2nrx33XEAgA6iPAIA6AErnliRB557wMgaALDblEcAAD2g0WykpGTRvEV1RwEAOozyCACgBwwMDuS0w07LAVMPqDsKANBhlEcAAF3uvmfuy8onVxpZAwBeF+URAECXazQbSZIl85VHAMDuUx4BAHS5gcGBvOXAt+SIfY6oOwoA0IGURwAAXezxFx7P7WtvN7IGALxuyiMAgC525aorkyRL5y+tOQkA0KmURwAAXWxgcCDH7ndsjp91fN1RAIAOpTwCAOhSz256Nt988JtZMm9JSil1xwEAOpTyCACgS12z+ppsH95uZA0AeEOURwAAXarRbOTg6QfnbYe8re4oAEAHUx4BAHShl7a9lBvW3JDFcxdnXHHKBwC8fs4kAAC60I1rbsym7ZuMrAEAb1jLy6NSyhdKKbeXUn5/hI/vW0q5rpSyvJTyuVbnAQDoBY1mI/tO3jdnHH5G3VEAgA7X0vKolLI0SV9VVacmOaqUcuxOll2W5PKqqhYkmV5KWdDKTAAA3W7b0LZcvfrqXDT3okzom1B3HACgw7X6yqOFSa7YcXxTktN2subpJG8qpeyT5NAkj7Q4EwBAV7vlwVvy3ObnsnSekTUA4I1rdXk0NcmjO46fSTJ7J2tuS3J4kk8kGdyx7meUUj62Y6xt+fr161uVFQCgKzSajew1Ya+ce/S5dUcBALpAq8ujjUmm7DieNsLn+8Mkv1pV1X9O0kzyr165oKqqz1dVtaCqqgWzZs1qWVgAgE43XA1nWXNZzjvmvEyZMGXXDwAA2IVWl0d35iejaicneXAna/ZNcmIppS/JO5JULc4EANC1vrv2u3l84+NG1gCAPabV5dGyJJeVUv4iyQeS/KiU8ulXrPmTJJ9P8nyS/ZJ8qcWZAAC6VqPZyPhx43PBcRfUHQUA6BLjW/nkVVVtKKUsTHJOks9WVbUuyV2vWPPPSU5oZQ4AgF5QVVUazUbOOvKs7DN5n7rjAABdotVXHqWqqmerqrpiR3EEAECL3P3k3VnzzBojawDAHtXy8ggAgLHRaDZSUrJo3qK6owAAXUR5BADQJRrNRk499NQcOO3AuqMAAF1EeQQA0AUeePaB/HDdD42sAQB7nPIIAKALNJqNJMmS+UtqTgIAdBvlEQBAF2g0Gzlp9kk5at+j6o4CAHQZ5REAQId7YuMT+fbD3zayBgC0hPIIAKDDXbnqylSpjKwBAC2hPAIA6HCNZiNH7XtUTjzgxLqjAABdSHkEANDBnt/8fG6+/+Ysnbc0pZS64wAAXUh5BADQwa6999psG95mZA0AaBnlEQBAB2s0Gzlw2oF555x31h0FAOhSyiMAgA61adumXHfvdVk8d3HGFad1AEBrOMsAAOhQX7v/a3lp20tG1gCAllIeAQB0qEazkb0n7Z2FRyysOwoA0MWURwAAHWj78PZcteqqXDT3okzsm1h3HACgiymPAAA60K0P3ZpnNj2TJfOMrAEAraU8AgDoQI3BRiaPn5z3Hv3euqMAAF1OeQQA0GGGq+E0mo2cd8x5mTpxat1xAIAupzwCAOgwyx9bnkdfeNTIGgAwJpRHAAAdpjHYSF/py4XHXVh3FACgByiPAAA6SFVVGWgO5Mwjz8x+U/arOw4A0AOURwAAHWTwqcGsfnq1kTUAYMwojwAAOkhjsJEkWTR3Uc1JAIBeoTwCAOggA82BvHPOO3PIjEPqjgIA9AjlEQBAh3jouYfy/ce/b2QNABhTyiMAgA6xrLksSZRHAMCYUh4BAHSIgeZA3nTAm3LszGPrjgIA9BDlEQBAB1j/4vrc9vBtrjoCAMac8ggAoANcteqqDFfDyiMAYMwpjwAAOsBAcyBH7HNE3nzgm+uOAgD0GOURAECb27BlQ75+/9ezZN6SlFLqjgMA9BjlEQBAm7v+3uuzdWirkTUAoBbKIwCANjfQHMgBUw/Iuw59V91RAIAepDwCAGhjm7dvznX3XpdFcxelb1xf3XEAgB6kPAIAaGM3339zNm7daGQNAKiN8ggAoI0NDA5kxqQZOevIs+qOAgD0KOURAECb2j68PVetvioXHHtBJo2fVHccAKBHKY8AANrUtx/+dp566SkjawBArZRHAABtamBwIJP6JuX8Y8+vOwoA0MOURwAAbaiqqixbtSznHn1upk2cVnccAKCHKY8AANrQ9x//fh5+/mEjawBA7ZRHAABtaGBwIH2lLxfNvajuKABAj1MeAQC0oUazkTMOPyP777V/3VEAgB6nPAIAaDPNp5oZfGrQyBoA0BaURwAAbaYx2EiSLJ63uN4gAABRHgEAtJ1Gs5G3Hfy2HLr3oXVHAQBQHgEAtJNHnn8k33vse0bWAIC2oTwCAGgjy5rLkiRL5y+tNwgAwA7KIwCANtJoNjJ///mZu//cuqMAACRRHgEAtI2nXnoqtz50q5E1AKCtKI8AANrE1auuzlA1ZGQNAGgryiMAgDbRaDZy2N6H5a0HvbXuKAAAP6Y8AgBoAxu3bsxN992UxXMXp5RSdxwAgB9THgEAtIHr770+W4a2GFkDANqO8ggAoA00mo3sv9f+Oe2w0+qOAgDwM5RHAAA127J9S66999pcfNzF6RvXV3ccAICfoTwCAKjZNx74RjZs2WBkDQBoS8ojAICaNZqNTJs4Le856j11RwEAeBXlEQBAjYaGh3LlqitzwbEXZPL4yXXHAQB4FeURAECNvvPId/Lki09mybwldUcBANgp5REAQI0azUYm9k3M+ceeX3cUAICdUh4BANSkqqo0mo2cc9Q5mTFpRt1xAAB2SnkEAFCTH677YR587kEjawBAW1MeAQDUpNFsZFwZl4vnXlx3FACAESmPAABq0mg2cvphp2fW1Fl1RwEAGJHyCACgBvc+fW/ufvJuI2sAQNtTHgEA1KDRbCRJFs9bXG8QAIBdUB4BANSg0WzklINOyeH7HF53FACA16Q8AgAYY49ueDR3rL3DyBoA0BGURwAAY+zKVVcmSZbMVx4BAO1PeQQAMMYazUbmzpyb+fvPrzsKAMAutbw8KqV8oZRyeynl93ex7q9LKRe1Og8AQJ2e2fRMvvnAN7Nk3pKUUuqOAwCwSy0tj0opS5P0VVV1apKjSinHjrDu9CQHVlV1dSvzAADU7ZrV12SoGjKyBgB0jFZfebQwyRU7jm9KctorF5RSJiT5X0keLKUs2tmTlFI+VkpZXkpZvn79+lZlBQBouUazkTkz5mTBwQvqjgIAMCqtLo+mJnl0x/EzSWbvZM0vJrknyWeTvL2U8vFXLqiq6vNVVS2oqmrBrFmzWhYWAKCVXtz6Ym5Yc0MWz12cccWtJwGAztDqs5aNSabsOJ42wud7S5LPV1W1Lkl/kjNbnAkAoBY33ndjNm/fbGQNAOgorS6P7sxPRtVOTvLgTtasSXLUjuMFSR5qcSYAgFo0mo3sN2W/nHH4GXVHAQAYtfEtfv5lSb5VSjk4yflJPlRK+XRVVT/9m9e+kOTvSikfSjIhyftbnAkAYMxtHdqaq1ddnSXzl2T8uFafggEA7DktPXOpqmpDKWVhknOSfHbHaNpdr1jzQpJfaGUOAIC63fLgLXl+y/NZMs/IGgDQWVr+z15VVT2bn/zGNQCAntQYbGTqhKk556hz6o4CALBb/JoPAIAWG66Gs2zVspx/7PmZMmHKrh8AANBGlEcAAC12x9o7sm7jOiNrAEBHUh4BALRYY7CRCeMm5IJjL6g7CgDAblMeAQC0UFVVGWgO5D1HvSd7T9677jgAALtNeQQA0EIrn1yZ+5+938gaANCxlEcAAC3UGGykpGTR3EV1RwEAeF2URwAALTTQHMi7D3t3Zk+bXXcUAIDXRXkEANAi9z97f1Y8scLIGgDQ0ZRHAAAt0hhsJInyCADoaMojAIAWGWgO5M0HvjlH7ntk3VEAAF435REAQAus27gutz9yu6uOAICOpzwCAGiBK5tXpkqVpfOX1h0FAOANUR4BALTAQHMgx+x3TE6YdULdUQAA3hDlEQDAHvbc5ufyjQe+kSXzlqSUUnccAIA3RHkEALCHXbv62mwf3m5kDQDoCsojAIA9bKA5kIOmHZS3H/L2uqMAALxhyiMAgD1o07ZNuWHNDVk8b3HGFadaAEDnc0YDALAH3XTfTXlp20tG1gCArqE8AgDYgwaaA9l38r75ucN/ru4oAAB7hPIIAGAP2Ta0LVevujoXHndhJvRNqDsOAMAeoTwCANhDbn3o1jy7+VkjawBAV1EeAQDsIQODA5kyfkrOPfrcuqMAAOwxyiMAgD1guBrOslXLct4x52WvCXvVHQcAYI9RHgEA7AHfe/R7eeyFx4ysAQBdR3kEALAHDAwOZPy48bng2AvqjgIAsEcpjwAA3qCqqtJoNnLmEWdm3yn71h0HAGCPUh4BALxB96y/J/c+c6+RNQCgKymPAADeoIHBgZSULJq7qO4oAAB7nPIIAOANajQbeeecd+ag6QfVHQUAYI9THgEAvAEPPvdgfrDuB0bWAICupTwCAHgDGoONJMmSeUtqTgIA0BrKIwCAN6DRbOTEA07M0fsdXXcUAICWUB4BALxOT2x8Irc9fJuRNQCgqymPAABep6tWXZUqlZE1AKCr7ZHyqJTyN3vieQAAOkmj2ciR+xyZk2afVHcUAICWeUPlUSnlmFLKf0zytj2UBwCgIzy/+fnc/MDNWTp/aUopdccBAGiZ8bv7gFLKYUk+mGRJkqeSXJNk4Z6NBQDQ3q6797psHdpqZA0A6HqjLo9KKR9M8utJ9k9yaJLfTvJ3VVVtblE2AIC21Wg2Mnvq7Jx66Kl1RwEAaKndGVv7T0kWVVV1fJIFSQ5L8oNSyt+VUha2IBsAQFvavH1zrrv3uiyetzjjit8/AgB0t9052/lkVVXPJklVVauqqvqdJCck+WqSX2tFOACAdvS1+76WF7e9aGQNAOgJox5bq6rqup28bzjJtTveAAB6QqPZyN6T9s6ZR55ZdxQAgJZznTUAwG7YPrw9V626Khced2Em9k2sOw4AQMspjwAAdsO3HvpWnt70tJE1AKBnKI8AAHZDo9nI5PGTc94x59UdBQBgTCiPAABGqaqqNJqNvPfo92bqxKl1xwEAGBPKIwCAUVr+2PKs3bDWyBoA0FOURwAAo9RoNtJX+nLR3IvqjgIAMGaURwAAo9RoNrLwiIXZb8p+dUcBABgzyiMAgFEYXD+Y5lNNI2sAQM9RHgEAjEKj2UiSLJ63uN4gAABjTHkEADAKjWYj7zjkHTlkxiF1RwEAGFPKIwCAXXj4+Yez/LHlRtYAgJ6kPAIA2IVlzWVJkiXzlUcAQO9RHgEA7EKj2cgJs07IcTOPqzsKAMCYUx4BALyG9S+uz60P3WpkDQDoWcojAIDXcPXqqzNcDRtZAwB6lvIIAOA1NJqNHL734XnLgW+pOwoAQC2URwAAI3hhywu56b6bsmTekpRS6o4DAFAL5REAwAiuX3N9tg5tNbIGAPQ05REAwAgGBgcya69Zefeh7647CgBAbZRHAAA7sWX7llx373VZNHdR+sb11R0HAKA2yiMAgJ24+YGb88LWF7J0/tK6owAA1Ep5BACwEwODA5k+cXrOOvKsuqMAANRKeQQA8ApDw0O5atVVueC4CzJp/KS64wAA1Ep5BADwCt9+5NtZ/9L6LJ1nZA0AQHkEAPAKA4MDmdQ3Kecfe37dUQAAaqc8AgD4KVVVpdFs5Jyjz8m0idPqjgMAUDvlEQDAT/nBuh/k4ecfNrIGALCD8ggA4KcMDA5kXBmXi+ZeVHcUAIC2oDwCAPgpjWYjZxx+Rvbfa/+6owAAtIWWl0ellC+UUm4vpfz+LtbNLqX8oNV5AABGsuqpVbln/T1G1gAAfkpLy6NSytIkfVVVnZrkqFLKsa+x/M+TTGllHgCA19JoNpIki+ctrjcIAEAbafWVRwuTXLHj+KYkp+1sUSnlrCQvJlnX4jwAACNqNBtZcPCCHLr3oXVHAQBoG60uj6YmeXTH8TNJZr9yQSllYpL/mOR3RnqSUsrHSinLSynL169f35KgAEBvW7thbf750X82sgYA8AqtLo825iejaNNG+Hy/k+Svq6p6bqQnqarq81VVLaiqasGsWbP2fEoAoOctay5LkiyZv6TeIAAAbabV5dGd+cmo2slJHtzJmrOT/Hop5ZYkby6l/O8WZwIAeJVGs5F5+8/LvP3n1R0FAKCttLo8WpbkslLKXyT5QJIflVI+/dMLqqo6o6qqhVVVLUzyw6qqPtriTAAAP+Ppl57OPz34T0bWAAB2Ynwrn7yqqg2llIVJzkny2aqq1iW56zXWL2xlHgCAnbl69dUZqoaMrAEA7ERLy6Mkqarq2fzkN64BALSdRrORQ2ccmlMOOqXuKAAAbafVY2sAAG1t49aNuem+m7Jk3pKUUuqOAwDQdpRHAEBPu2HNDdm8fbORNQCAESiPAICe1mg2MnPKzJx22Gm7XgwA0IOURwBAz9o6tDXXrL4mi+YuyvhxLb8VJABAR1IeAQA96xsPfCMbtmwwsgYA8BqURwBAz2oMNjJt4rScfdTZdUcBAGhbyiMAoCcNDQ/lylVX5n3Hvi+Tx0+uOw4AQNtSHgEAPen2tbfniRefyJJ5RtYAAF6L8ggA6EmNwUYm9k3M+459X91RAADamvIIAOg5VVWl0Wzk7KPOzoxJM+qOAwDQ1pRHAEDPueuJu/LAcw8YWQMAGAXlEQDQcxqDjYwr43Lx3IvrjgIA0PaURwBAz2k0GzntsNNywNQD6o4CAND2lEcAQE9Z88yarHxypZE1AIBRUh4BAD2lMdhIkiyet7jeIAAAHUJ5BAD0lEazkbce9NYcsc8RdUcBAOgIyiMAoGc89sJjuX3t7UbWAAB2g/IIAOgZVzavTBLlEQDAblAeAQA9o9Fs5LiZx+X4WcfXHQUAoGMojwCAnvDspmfzzQe/mSXzlqSUUnccAICOoTwCAHrCNauvyfbh7UbWAAB2k/IIAOgJjWYjh0w/JG875G11RwEA6CjKIwCg67207aXcsOaGLJ63OOOK0x8AgN3h7AkA6Ho3rrkxm7ZvMrIGAPA6KI8AgK7XaDay35T9csbhZ9QdBQCg4yiPAICutm1oW65efXUuOu6iTOibUHccAICOozwCALraLQ/ekuc2P2dkDQDgdVIeAQBdrdFsZK8Je+Xco8+tOwoAQEdSHgEAXWu4Gs6y5rKcf8z5mTJhSt1xAAA6kvIIAOha31373Ty+8XEjawAAb4DyCADoWo1mIxPGTcgFx11QdxQAgI6lPAIAulJVVRkYHMhZR56VfSbvU3ccAICOpTwCALrS3U/enfuevc/IGgDAG6Q8AgC6UqPZSEnJonmL6o4CANDRlEcAQFcaGBzIuw59Vw6cdmDdUQAAOpryCADoOg88+0DueuIuI2sAAHuA8ggA6DqNZiNJsmS+8ggA4I1SHgEAXWdgcCAnzz45R+17VN1RAAA6nvIIAOgqT2x8It955DtG1gAA9hDlEQDQVa5cdWWqVFk6f2ndUQAAuoLyCADoKgODAzl636PzpgPeVHcUAICuoDwCALrG85ufzzce+EaWzFuSUkrdcQAAuoLyCADoGtfee222DW8zsgYAsAcpjwCArjEwOJCDph2Ud8x5R91RAAC6hvIIAOgKm7ZtyvVrrs+iuYsyrjjFAQDYU5xZAQBd4Wv3fy0vbXvJyBoAwB6mPAIAusLA4ED2mbxPFh6xsO4oAABdRXkEAHS87cPbc/Xqq3PhcRdmQt+EuuMAAHQV5REA0PFufejWPLPpmSydZ2QNAGBPUx4BAB1vYHAgU8ZPyXuPeW/dUQAAuo7yCADoaMPVcJY1l+W9x7w3e03Yq+44AABdR3kEAHS05Y8tz6MvPGpkDQCgRZRHAEBHGxgcyPhx43PhcRfWHQUAoCspjwCAjlVVVRrNRhYesTD7Ttm37jgAAF1JeQQAdKzBpwaz+unVRtYAAFpIeQQAdKyBwYEkyaJ5i2pOAgDQvZRHAEDHajQbeeecd+bg6QfXHQUAoGspjwCAjvTQcw/l+49/38gaAECLKY8AgI7UaDaSJEvmL6k5CQBAd1MeAQAdqdFs5E0HvCnH7HdM3VEAALqa8ggA6DhPvvhkbnv4NiNrAABjQHkEAHScq1ZdleFq2MgaAMAYUB4BAB2n0WzkiH2OyMmzT647CgBA11MeAQAdZcOWDfn6/V/P0nlLU0qpOw4AQNdTHgEAHeW6e6/L1qGtRtYAAMaI8ggA6CiNZiOzp87OqXNOrTsKAEBPUB4BAB1j8/bNue7e67Jo7qL0jeurOw4AQE9QHgEAHePr9389G7duNLIGADCGlEcAQMdoDDYyY9KMnHXkWXVHAQDoGcojAKAjbB/enqtWX5ULj7swE/sm1h0HAKBnKI8AgI5w28O35amXnsqSeUbWAADGUsvLo1LKF0opt5dSfn+Ej+9dSrm+lHJTKaVRSvFPiQDAqzQGG5k8fnLOO+a8uqMAAPSUlpZHpZSlSfqqqjo1yVGllGN3suySJH9RVdW5SdYlcUYIAPyMqqrSaDZy7tHnZtrEaXXHAQDoKa2+8mhhkit2HN+U5LRXLqiq6q+rqvrajj/OSvLkK9eUUj5WSlleSlm+fv36VmUFANrUnY/fmUc2PGJkDQCgBq0uj6YmeXTH8TNJZo+0sJRyapJ9q6q645Ufq6rq81VVLaiqasGsWbNakxQAaFuNwUb6Sl8uOu6iuqMAAPSc8S1+/o1Jpuw4npYRyqpSyn5J/irJz7c4DwDQgRrNRn7uiJ/LzL1m1h0FAKDntPrKozvzk1G1k5M8+MoFO26Q/eUkv1tV1UMtzgMAdJjmU80MPjVoZA0AoCatLo+WJbmslPIXST6Q5EellE+/Ys2/TvLWJL9XSrmllPLBFmcCADpIY7CRJFk8b3G9QQAAelRLx9aqqtpQSlmY5Jwkn62qal2Su16x5m+S/E0rcwAAnavRbOTth7w9c2bMqTsKAEBPavWVR6mq6tmqqq7YURwBAIzaI88/ku899j0jawAANWp5eQQA8Hotay5Lkiydv7TeIAAAPUx5BAC0rUazkeNnHZ/jZh5XdxQAgJ6lPAIA2tJTLz2Vf3ron4ysAQDUTHkEALSlq1ddneFq2MgaAEDNlEcAQFtqNBs5fO/D85YD31J3FACAnqY8AgDazgtbXshN992UxfMWp5RSdxwAgJ6mPAIA2s4Na27IlqEtRtYAANqA8ggAaDuNZiOz9pqVdx/67rqjAAD0POURANBWtmzfkmtWX5OL516cvnF9dccBAOh5yiMAoK1844Fv5IWtLxhZAwBoE8ojAKCtNJqNTJ84Pe858j11RwEAIMojAKCNDA0PZVlzWd537PsyafykuuMAABDlEQDQRr7zyHey/qX1RtYAANqI8ggAaBuNZiOT+ibl/GPOrzsKAAA7KI8AgLZQVVUGBgdy9lFnZ/qk6XXHAQBgB+URANAWfrjuh3no+YeMrAEAtBnlEQDQFhrNRsaVcbnouIvqjgIAwE9RHgEAbWFgcCCnH3Z6Zk2dVXcUAAB+ivIIAKjdvU/fmx+t/5GRNQCANqQ8AgBq12g2kiSL5y2uNwgAAK+iPAIAajcwOJBTDjolh+19WN1RAAB4BeURAFCrRzc8mu8++l0jawAAbUp5BADU6spVVyZJlsxbUnMSAAB2RnkEANRqYHAgc2fOzfxZ8+uOAgDATiiPAIDaPLPpmdzy4C1G1gAA2pjyCACozTWrr8lQNWRkDQCgjSmPAIDaDAwOZM6MOVlw8IK6owAAMALlEQBQixe3vpgb77sxS+YtSSml7jgAAIxAeQQA1OLG+27M5u2bjawBALQ55REAMOaqqsqX7/lyZk6ZmdMPP73uOAAAvIbxdQcAAHrHQ889lC+u/GL6V/bnnvX35N+c8m8yfpzTEQCAduZsDQBoqWc3PZuv3POV9K/sz60P3ZokOe2w0/K3F/xtLjv5sprTAQCwK8ojAGCP27J9S66797r0r+zPNauvydahrZk7c24+fean85ETP5Ij9z2y7ogAAIyS8ggA2COGq+F855Hv5B/u+odccc8VeW7zc5k9dXZ+bcGv5dKTLs1bD3qr36oGANCBlEcAwBvSfKqZ/hX9uXzl5XnwuQez14S9snT+0lx64qV5z1HvcU8jAIAO52wOANht6zauy/+9+/+mf0V/7nz8zowr43LOUefkj878oyyetzjTJk6rOyIAAHuI8ggAGJWNWzdmWXNZ+lf052v3fy3D1XBOOeiU/OV7/zIfetOHcuC0A+uOCABACyiPAIARbR/enq/f//X0r+hPo9nIS9teyuF7H57fPe13c8mJl2T+rPl1RwQAoMWURwDAz6iqKt9//PvpX9GfL939pTzx4hPZd/K+ueyky3LpSZfmXYe+K+PKuLpjAgAwRpRHAECS5IFnH8gXV34x/Sv703yqmYl9E3PRcRfl0pMuzfnHnJ9J4yfVHREAgBoojwCghz2z6Zl8+UdfTv/K/tz28G1JkjMOPyOffOcn8/7j3599p+xbc0IAAOqmPAKAHrN5++Zcu/ra9K/sz7Wrr8224W2Zv//8/PFZf5yPnPiRHL7P4XVHBACgjSiPAKAHDFfD+dZD30r/iv58+Z4v5/ktz+fAaQfm42//eC496dK8+cA3p5RSd0wAANqQ8ggAutg96+9J/4r+XL7y8jz8/MOZOmFqfv74n8+lJ16as448K33j+uqOCABAm1MeAUCXefyFx/Olu7+U/hX9+cG6H6Sv9OXco8/Nn7znT7Jo7qJMnTi17ogAAHQQ5REAdIEXtryQRrOR/hX9ufmBmzNcDedtB78t/+28/5YPnvDBzJ42u+6IAAB0KOURAHSobUPb8rX7v5b+Ff1Z1lyWTds35ch9jszvnf57ueTESzJ3/7l1RwQAoAsojwCgg1RVleWPLU//iv586e4vZf1L67PflP3yS2/+pVx60qU5dc6pbnwNAMAepTwCgA5w/7P35/IVl6d/ZX9WP706k/om5aK5F+Wyky7Lececl4l9E+uOCABAl1IeAUCbevqlp3PFj65I/8r+fOeR7yRJFh6xML/1rt/Kzx//89ln8j71BgQAoCcojwCgjWzatinXrL4m/Sv7c92912X78PacMOuE/Ol7/jQfPvHDOWzvw+qOCABAj1EeAUDNhqvh/NOD/5T+Ff35yuBXsmHLhhw8/eD85jt+M5eedGlOmn2S+xgBAFAb5REA1OTuJ+9O/4r+XL7y8qzdsDbTJk7Lz8//+Vx20mVZeMTC9I3rqzsiAAAojwBgLD264dF86e4vpX9Ff+564q70lb6cd8x5+S/n/JdcPPfi7DVhr7ojAgDAz1AeAUCLbdiyIQODA+lf0Z9vPPCNVKnyjkPekb86/6/ywRM+mFlTZ9UdEQAARqQ8AoAW2Da0LTfed2P6V/TnylVXZvP2zTl636PzBz/3B7nkxEty7Mxj644IAACjojwCgD2kqqp899Hvpn9Ff/7xR/+Yp156KjOnzMy/fsu/zqUnXZp3HPION74GAKDjKI8A4A1a88yaXL7i8vSv7M+aZ9Zk8vjJuXjuxbnspMty7tHnZmLfxLojAgDA66Y8AoDXYf2L63PFj65I/8r+3LH2jpSUnHnkmfkPp/2HLJ2/NHtP3rvuiAAAsEcojwBglF7a9lKuXnV1+lf254Y1N2T78PacNPukfPbsz+bDJ344c2bMqTsiAADsccojAHgNQ8NDueXBW9K/sj9fveereWHrCzlk+iH55Ds/mUtOuiQnzT6p7ogAANBSyiMA2Im71t2V/hX9+eLdX8xjLzyWGZNm5BeO/4VcetKlOePwM9I3rq/uiAAAMCaURwCwwyPPP5Iv3f2l9K/oz8onV2b8uPE5/5jz85fv/ctcdNxFmTJhSt0RAQBgzCmPAOhpz29+Pl8d/Gr6V/TnlgdvSZUqp845Nf/zff8zHzjhA9l/r/3rjggAALVSHgHQc7YObc0Na25I/4r+XLXqqmwZ2pJj9zs2n1r4qVxy4iU5er+j644IAABtQ3kEQE+oqiq3r709/Sv6848/+sc8s+mZ7L/X/vnYKR/LpSddmrcd/LaUUuqOCQAAbUd5BEBXW/306vSv6M/lKy/P/c/en8njJ2fxvMW59MRLc+7R52ZC34S6IwIAQFtTHgHQdZ588cn8493/mH9Y8Q/53mPfS0nJe456T/7gjD/IkvlLMmPSjLojAgBAx1AeAdAVXtr2Uq5sXpn+lf25cc2NGaqG8uYD35w/P+fP86E3fSiHzDik7ogAANCRlEcAdKyh4aF844FvpH9lfwYGB7Jx68YcOuPQ/Pt3/ftcctIledMBb6o7IgAAdLyWl0ellC8kOT7JtVVVffr1ruk2v3rNr+bB5x6sOwZAx6pSZeUTK/P4xsczY9KMfPCED+bSky7NGYefkXFlXN3xAACga7S0PCqlLE3SV1XVqaWUvyulHFtV1b27u6YbvbD1hTy3+bm6YwB0tFMPPTUfftOHc+FxF2by+Ml1xwEAgK7U6iuPFia5YsfxTUlOS/LKYmg0a7rO5UsvrzsCAAAAwC61+rr+qUke3XH8TJLZr2dNKeVjpZTlpZTl69evb0lQAAAAAF6t1eXRxiRTdhxPG+Hz7XJNVVWfr6pqQVVVC2bNmtWSoAAAAAC8WqvLozvz8hhakpyc5MHXuQYAAACAGrT6nkfLknyrlHJwkvOTfKiU8umqqn7/Nda8s8WZAAAAABilll55VFXVhrx8Q+w7kpxZVdVdryiOdrbm+VZmAgAAAGD0Wn3lUaqqejY/+W1qr3sNAAAAAGOv1fc8AgAAAKCDKY8AAAAAGJHyCAAAAIARKY8AAAAAGJHyCAAAAIARKY8AAAAAGJHyCAAAAIARKY8AAAAAGJHyCAAAAIARKY8AAAAAGJHyCAAAAIARKY8AAAAAGFGpqqruDLullLI+yUN159hD9k/yVN0heEPsYWezf53PHnY+e9j57GFns3+dzx52PnvY2bpp/w6vqmrWzj7QceVRNymlLK+qakHdOXj97GFns3+dzx52PnvY+exhZ7N/nc8edj572Nl6Zf+MrQEAAAAwIuURAAAAACNSHtXr83UH4A2zh53N/nU+e9j57GHns4edzf51PnvY+exhZ+uJ/XPPIwAAAABG5MojAAAAAEakPAJIUkrZr5RyTill/7qzAAAAtBPl0RgopXyhlHJ7KeX3X2PN7FLKt8YyF6O3qz0spexdSrm+lHJTKaVRSpk41hkZ2Sj2b98k1yR5e5JvllJmjWlAdmk030d3rJtdSvnBWOVi9EbxOhxfSnm4lHLLjrcTxzojI9uN1+Bfl1IuGqtcjN4oXoP/9qdefz8spXxurDPy2kZzPlNKua6Ustz+tadR7OGRpZRrSynfKqX8P2Odj10bzc/to/07s9Moj1qslLI0SV9VVacmOaqUcuxO1uyb5O+TTB3rfOzaaPYwySVJ/qKqqnOTrEty3lhmZGSj3L+TknyyqqrPJLkxyVvHMiOvbZR7+C/+PMmUsUnGaO3G6/BLVVUt3PG2cmxTMpLRvgZLKacnObCqqqvHNCC7NJo9rKrqb/7l9ZfkW0n+1xjH5DWM8nV4WZLLq6pakGR6KWXBmIbkNY1yD/8syR9VVXV6kjmllIVjGJFdGM3P7bt53tpRlEettzDJFTuOb0py2k7WDCX5YJINY5SJ3bMwu9jDqqr+uqqqr+3446wkT45NNEZhYXa9f/9UVdUdpZQz8vLVR7ePXTxGYWF2/X00pZSzkryYlwtc2svC7HoP35nkwlLKP+/4F7vxYxWOXVqYXexfKWVCXi4bHiylLBq7aIzSwozi+2iSlFIOSTK7qqrlY5CL0VuYXe/h00neVErZJ8mhSR4Zk2SM1sLseg+PS/L9HcdPJtm79bHYDaP5uX1hRvn9ttMoj1pvapJHdxw/k2T2KxdUVbWhqqrnxzQVu2OXe/gvSimnJtm3qqo7xiIYozKq/SullLz8l8GzSbaNTTRGaZd7uGNU9D8m+Z0xzMXojeZ1+L0kZ1dV9fYkE5K8b4yysWuj2b9fTHJPks8meXsp5eNjlI3RGfW5TJJfT/I3LU/E7hrNHt6W5PAkn0gyuGMd7WM0e/iVJH+4Y/z3vCQ3j1E2RmGUP7fvzvfbjqI8ar2N+ckIxbT4f96JRrWHpZT9kvxVkl8eo1yMzqj2r3rZrydZkeTiMcrG6IxmD38nyV9XVfXcWIVit4xmD1dUVfX4juPlSbrmMu8uMJr9e0uSz1dVtS5Jf5IzxygbozPac5lxeXnvbhmbWOyG0ezhHyb51aqq/nOSZpJ/NUbZGJ1d7mFVVZ9Ocn2Sjyb5+6qqNo5dPPaQrv35v2u+kDZ2Z35yqdrJSR6sLwqv0y73cMdVD19O8rtVVT00dtEYhdHs32+XUn5xxx/3SfLcWARj1EbzffTsJL9eSrklyZtLKf97bKIxSqPZw38opZxcSulLsjjJXWMTjVEYzf6tSXLUjuMFSfxd2F5Gez56epLvVlVVjUUodsto9nDfJCfu+D76jiT2sb2M9nX4wySHJfmL1keiBbr25//i74bWKqXMyMs3Hbw5yflJPpTkF6qqetWd10spt+y4SSFtZDR7WEr5t0n+OD/5Yedvqqr6x7HOyquNcv/2zcuzyZOS3J3k1504t4/d+T66Y73vpW1mlK/DNyX5YpKS5Kqqqn6vjqy82ij3b3qSv8vLl+dPSPL+qqoe3cnTUYPRfh8tpfxxkuVVVQ2MfUpeyyhfh29P8v/m5dG125MsceVK+9iN1+F/SrKmqqp/GPuUjMa/nGuWUo5P8pFXvA5fuc/v7JZb1CiPxsCOH0zPSXLrjsu56TD2sLPZv85nDzufPexs9q/z2cPOZw87nz3sDd26z8ojAAAAAEbknkcAAAAAjEh5BAAAAMCIlEcAAAAAjEh5BAAAANADSin/rZRyfSnlBzt+2+2oKI8AAAAAulwp5awk66qqOj/JbyT5xGgfqzwCAAAA6H6HJXl8x3Ffko2jfaDyCAAAAKBHlFJ+JckXk3x3tI9RHgEAAAD0jsuTnJLkA6WUE0bzAOURAAAAQI+oquqlqqqeSHJdkneN5jHjWxsJAAAAgDbxi6WUZpLtSX41yYdG8yDlEQAAAEBvuCXJ0iQTk/xKVVX3jeZByiMAAACA3vBwVVX/3+4+qFRV1YIsAAAAAHQDN8wGAAAAYETKIwAAAABGpDwCAAAAYETKIwAAAABGpDwCAAAAYETKIwAAAABGpDwCAAAAYET/P1iwpwyuWzz0AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# to solve the first model\n",
    "data_list = []\n",
    "obj_list=[]\n",
    "ratio_list=[]\n",
    "for i in range(num):\n",
    "    # introduce decision variables \n",
    "    m1=Model(\"ju\")   \n",
    "    beta = beta_x[i]\n",
    "    lambda1=m1.addVar(name='lamuda1',lb=0,ub=1)\n",
    "    z = m1.addVars(samples, name=\"z\")\n",
    "    delta=m1.addVars(samples, name=\"delta\")\n",
    "    I = m1.addVars(samples, vtype=GRB.BINARY, name=\"I\")\n",
    "    wg = m1.addVars(samples,name=\"wg\")\n",
    "    \n",
    "    # introduce constraints\n",
    "    m1.addConstrs((z[i] >= wg[i] / v - beta for i in range(samples)), \"c0\")\n",
    "    m1.addConstrs((z[i] >= -wg[i] / v + beta for i in range(samples)), \"c1\")\n",
    "\n",
    "    m1.addConstrs((delta[i] == lambda1 * wf1[i] + (1 - lambda1) * wu1[i] for i in range(samples)), \"c2\")\n",
    "    m1.addConstrs((wg[i] == wf1[i] * I[i] + wu1[i] * (1 - I[i]) for i in range(samples)), \"c3\")\n",
    "\n",
    "    m1.addConstrs((M * I[i] >= delta[i] - y[i] for i in range(samples)), \"c4\")\n",
    "    m1.addConstrs((M * (1 - I[i]) >= y[i] - delta[i] for i in range(samples)), \"c5\")\n",
    "    \n",
    "    # define objective values\n",
    "    m1.setParam(\"NonConvex\", 2)\n",
    "    m1.setParam(\"OptimalityTol\", 1e-7)\n",
    "    m1.setObjective(quicksum(z) / samples, GRB.MINIMIZE)\n",
    "    \n",
    "    m1.update()\n",
    "    m1.optimize()\n",
    "    data_list.append(lambda1.x)\n",
    "    obj_list.append(m1.objVal)\n",
    "    ratio=sum([wg[i].x/v for i in range(samples)])/samples\n",
    "    ratio_list.append(ratio)\n",
    "    m1.reset()\n",
    "    \n",
    "    \n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['figure.figsize'] = (20.0, 8.0)\n",
    "plt.xticks(beta_x)\n",
    "plt.xlabel('β',fontsize=12,loc=\"right\")\n",
    "plt.ylabel('λ',fontsize=12)\n",
    "\n",
    "plt.plot(beta_x,data_list, color='green', label='模型一')\n",
    "#plt.plot(beta_x,data_list2, color='blue', label='模型二')\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "2ae0cc57",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0xa15504e8\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [1e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.20s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 2.034684e-01, 8510 iterations, 0.60 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.20347    0  985          -    0.20347      -     -   11s\n",
      "     0     0    0.23923    0 1998          -    0.23923      -     -   30s\n",
      "     0     0    0.23923    0 1998          -    0.23923      -     -   30s\n",
      "     0     0    0.24017    0 1838          -    0.24017      -     -   34s\n",
      "     0     0    0.24225    0 1920          -    0.24225      -     -   34s\n",
      "     0     0    0.24419    0 1920          -    0.24419      -     -   39s\n",
      "     0     0    0.24440    0 1918          -    0.24440      -     -   39s\n",
      "     0     0    0.24602    0 1992          -    0.24602      -     -   44s\n",
      "     0     0    0.24624    0 1992          -    0.24624      -     -   44s\n",
      "     0     0    0.24718    0 1990          -    0.24718      -     -   49s\n",
      "     0     0    0.24733    0 1992          -    0.24733      -     -   49s\n",
      "     0     0    0.24782    0 1990          -    0.24782      -     -   52s\n",
      "     0     0    0.24835    0 1992          -    0.24835      -     -   53s\n",
      "     0     0    0.26940    0 2001          -    0.26940      -     -   57s\n",
      "     0     0    0.27150    0 2000          -    0.27150      -     -   58s\n",
      "     0     0    0.27218    0 2001          -    0.27218      -     -   64s\n",
      "     0     0    0.27232    0 2001          -    0.27232      -     -   64s\n",
      "     0     0    0.27258    0 1999          -    0.27258      -     -   69s\n",
      "     0     0    0.27273    0 1997          -    0.27273      -     -   69s\n",
      "     0     0    0.27286    0 2001          -    0.27286      -     -   74s\n",
      "     0     0    0.27286    0 1076          -    0.27286      -     -   76s\n",
      "     0     2    0.27286    0 1076          -    0.27286      -     -   84s\n",
      "     3     8    0.27892    2  593          -    0.27365      -  1455   85s\n",
      "*   93    47               8       0.6071950    0.31063  48.8%   149   85s\n",
      "H  100    51                       0.4860950    0.31063  36.1%   139   86s\n",
      "*  142    54              13       0.4817576    0.31063  35.5%   103   86s\n",
      "H  194    52                       0.4816960    0.31076  35.5%  82.1   87s\n",
      "H  240    50                       0.4813563    0.33377  30.7%  79.1   87s\n",
      "H  353    65                       0.4741325    0.33385  29.6%  63.7   88s\n",
      "H  466    93                       0.4736769    0.33580  29.1%  54.0   89s\n",
      "   537    95 infeasible   43         0.47368    0.33580  29.1%  49.7   90s\n",
      "H  582    97                       0.4728084    0.34178  27.7%  48.1   90s\n",
      "  1223   103     cutoff   26         0.47281    0.34201  27.7%  29.4   95s\n",
      "* 1470    96              20       0.4725318    0.34396  27.2%  27.0   96s\n",
      "* 1492    96              21       0.4725300    0.34396  27.2%  26.8   96s\n",
      "* 1590    96              24       0.4668849    0.34528  26.0%  25.7   97s\n",
      "* 1845    98              24       0.4666001    0.34810  25.4%  23.3   98s\n",
      "* 1870    98              26       0.4665848    0.34811  25.4%  23.1   98s\n",
      "  2004   110    0.39640   19    2    0.46658    0.35077  24.8%  22.3  100s\n",
      "* 2096   110              33       0.4660487    0.35077  24.7%  21.4  100s\n",
      "* 2106   108              27       0.4553608    0.35082  23.0%  21.3  100s\n",
      "* 2437   127              29       0.4552331    0.35136  22.8%  19.5  101s\n",
      "* 2466   116              28       0.4550686    0.35165  22.7%  19.3  102s\n",
      "* 2469   116              30       0.4550486    0.35165  22.7%  19.3  102s\n",
      "* 2470   116              30       0.4550478    0.35165  22.7%  19.3  102s\n",
      "* 2615   101              31       0.4550459    0.35570  21.8%  18.7  103s\n",
      "* 2884   160              29       0.4399096    0.35992  18.2%  17.8  104s\n",
      "* 2887   160              31       0.4397636    0.35992  18.2%  17.8  104s\n",
      "* 2889   160              32       0.4397596    0.35992  18.2%  17.8  104s\n",
      "  3014   145    0.36014   26  163    0.43976    0.36014  18.1%  17.4  105s\n",
      "* 3119   128              35       0.4395662    0.36042  18.0%  17.5  105s\n",
      "H 3235   113                       0.4349411    0.36043  17.1%  17.3  106s\n",
      "* 3330   112              39       0.4348906    0.36269  16.6%  17.2  107s\n",
      "* 3651    93              41       0.4341559    0.36309  16.4%  16.6  108s\n",
      "* 3831    73              44       0.4332110    0.36354  16.1%  16.1  109s\n",
      "  4006    64    0.36658   37  144    0.43321    0.36361  16.1%  15.6  110s\n",
      "* 4039    64              41       0.4329777    0.36361  16.0%  15.5  110s\n",
      "* 4044    64              43       0.4326602    0.36361  16.0%  15.5  110s\n",
      "* 4045    64              44       0.4326460    0.36361  16.0%  15.5  110s\n",
      "* 4061    64              44       0.4320059    0.36661  15.1%  15.5  110s\n",
      "* 4192    86              43       0.4236871    0.36957  12.8%  15.3  111s\n",
      "* 4194    86              44       0.4230500    0.36957  12.6%  15.3  111s\n",
      "* 4200    86              47       0.4230354    0.36957  12.6%  15.2  111s\n",
      "H 4382    57                       0.4223158    0.36969  12.5%  14.8  112s\n",
      "* 4534    22              50       0.4207800    0.36990  12.1%  14.5  113s\n",
      "* 4685     6              52       0.4207455    0.37060  11.9%  14.3  114s\n",
      "* 4688     6              54       0.4207163    0.37060  11.9%  14.3  114s\n",
      "* 4689     6              54       0.4207149    0.37060  11.9%  14.3  114s\n",
      "* 4704     6              52       0.4206223    0.37074  11.9%  14.3  114s\n",
      "* 4706     6              53       0.4199096    0.37074  11.7%  14.3  114s\n",
      "* 4708     6              54       0.4198754    0.37074  11.7%  14.3  114s\n",
      "* 4740     6              52       0.4187120    0.37298  10.9%  14.3  114s\n",
      "* 4751     6              57       0.4091348    0.37335  8.75%  14.3  114s\n",
      "  4756    28     cutoff   55         0.40913    0.37520  8.29%  14.3  115s\n",
      "* 4842     9              62       0.4087294    0.37617  7.97%  14.3  115s\n",
      "* 4861     9              62       0.4086331    0.37633  7.91%  14.2  115s\n",
      "* 4935     3              62       0.4069062    0.37643  7.49%  14.1  116s\n",
      "* 4958     3              63       0.4068117    0.37659  7.43%  14.1  116s\n",
      "* 4962     3              64       0.4068075    0.37659  7.43%  14.1  116s\n",
      "* 4979    11              67       0.4057209    0.37853  6.70%  14.1  116s\n",
      "* 5010    11              68       0.4056078    0.37868  6.64%  14.0  117s\n",
      "* 5032    11              67       0.4054962    0.37919  6.49%  14.1  117s\n",
      "* 5058    16              67       0.4053090    0.37919  6.45%  14.0  118s\n",
      "* 5063    16              70       0.4051764    0.37919  6.41%  14.0  118s\n",
      "* 5090    16              84       0.4041609    0.37920  6.18%  13.9  118s\n",
      "* 5137    12              75       0.4026895    0.38094  5.40%  13.9  118s\n",
      "* 5169    12              75       0.4024774    0.38122  5.28%  13.8  118s\n",
      "* 5247    14              84       0.4021865    0.38236  4.93%  13.7  119s\n",
      "* 5249    14              85       0.4021719    0.38236  4.93%  13.7  119s\n",
      "  5284     9 infeasible   76         0.40217    0.38250  4.89%  13.6  120s\n",
      "* 5291     9              77       0.3970771    0.38265  3.63%  13.6  120s\n",
      "* 5296     9              79       0.3965210    0.38265  3.50%  13.6  120s\n",
      "* 5297     9              80       0.3964933    0.38265  3.49%  13.6  120s\n",
      "* 5300     9              81       0.3964932    0.38265  3.49%  13.6  120s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "* 5395     8              79       0.3964781    0.38334  3.31%  13.4  120s\n",
      "* 5424     8              81       0.3958579    0.38350  3.12%  13.3  120s\n",
      "* 5434     8              83       0.3956439    0.38364  3.03%  13.3  120s\n",
      "* 5446     8              83       0.3953079    0.38378  2.92%  13.3  120s\n",
      "* 5478     8              88       0.3952376    0.38453  2.71%  13.2  121s\n",
      "* 5490     8              87       0.3941024    0.38465  2.40%  13.2  121s\n",
      "H 5503     8                       0.3923753    0.38471  1.95%  13.2  121s\n",
      "* 5552     8              86       0.3920933    0.38517  1.77%  13.1  122s\n",
      "* 5564     8              93       0.3902545    0.38546  1.23%  13.1  122s\n",
      "* 5618     5              96       0.3897308    0.38594  0.97%  13.0  123s\n",
      "* 5630     5              94       0.3891093    0.38605  0.79%  13.0  123s\n",
      "* 5633     5              96       0.3890849    0.38605  0.78%  13.0  123s\n",
      "* 5645     6              97       0.3889243    0.38625  0.69%  12.9  123s\n",
      "* 5678     8              99       0.3882893    0.38729  0.26%  12.9  124s\n",
      "* 5690     8             100       0.3877581    0.38729  0.12%  12.9  124s\n",
      "* 5751     0              99       0.3876691    0.38761  0.01%  12.8  124s\n",
      "* 5752     0             100       0.3876149    0.38761  0.00%  12.7  124s\n",
      "* 5753     0             101       0.3876147    0.38761  0.00%  12.7  124s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 801\n",
      "  Gomory: 3\n",
      "  Cover: 312\n",
      "  Implied bound: 2850\n",
      "  Clique: 231\n",
      "  MIR: 2878\n",
      "  Flow cover: 14\n",
      "  RLT: 172\n",
      "  Relax-and-lift: 1053\n",
      "\n",
      "Explored 5755 nodes (95193 simplex iterations) in 124.52 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 10: 0.387615 0.387615 0.387669 ... 0.390254\n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 3.876147034529e-01, best bound 3.876147034529e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0x91608c69\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [1e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8002 rows and 6002 columns\n",
      "Presolve time: 0.01s\n",
      "Presolved: 4 rows, 2 columns, 8 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 2 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 2.748970e-01, 0 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.2748970    0.27490  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.274897 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 2.748970000000e-01, best bound 2.748970000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0x29128c6b\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [2e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 1.034684e-01, 8292 iterations, 0.62 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.10347    0  985          -    0.10347      -     -   11s\n",
      "     0     0    0.13923    0 1997          -    0.13923      -     -   30s\n",
      "     0     0    0.13923    0 1997          -    0.13923      -     -   30s\n",
      "     0     0    0.13972    0 1761          -    0.13972      -     -   34s\n",
      "     0     0    0.14277    0 1853          -    0.14277      -     -   34s\n",
      "     0     0    0.14351    0 1877          -    0.14351      -     -   39s\n",
      "     0     0    0.14385    0 1874          -    0.14385      -     -   39s\n",
      "     0     0    0.14565    0 1875          -    0.14565      -     -   45s\n",
      "     0     0    0.14594    0 1875          -    0.14594      -     -   45s\n",
      "     0     0    0.17363    0 1998          -    0.17363      -     -   51s\n",
      "     0     0    0.17377    0 1997          -    0.17377      -     -   51s\n",
      "     0     0    0.17397    0 1998          -    0.17397      -     -   57s\n",
      "     0     0    0.17399    0 1998          -    0.17399      -     -   57s\n",
      "     0     0    0.17411    0 1977          -    0.17411      -     -   63s\n",
      "     0     0    0.17412    0 1980          -    0.17412      -     -   63s\n",
      "     0     0    0.17420    0 1995          -    0.17420      -     -   67s\n",
      "     0     0    0.17420    0 1145          -    0.17420      -     -   68s\n",
      "     0     2    0.17420    0 1145          -    0.17420      -     -   75s\n",
      "*   92    38               8       0.5071950    0.18432  63.7%   112   76s\n",
      "H   96    40                       0.5070712    0.18432  63.6%   107   76s\n",
      "*   97    40              10       0.4383385    0.18432  58.0%   106   76s\n",
      "*  115    35              11       0.4124281    0.18432  55.3%  94.6   76s\n",
      "H  145    42                       0.4087048    0.18883  53.8%  79.0   77s\n",
      "*  236    34              12       0.3961852    0.18883  52.3%  62.0   77s\n",
      "*  291    34              15       0.3960600    0.18883  52.3%  55.8   78s\n",
      "   481    38    0.30595   17   21    0.39606    0.18883  52.3%  44.4   80s\n",
      "*  834    92              11       0.3954115    0.24201  38.8%  36.9   82s\n",
      "*  872    94              13       0.3952837    0.24201  38.8%  36.8   82s\n",
      "H  897    92                       0.3936002    0.24201  38.5%  36.2   82s\n",
      "H 1058   119                       0.3444125    0.26313  23.6%  35.8   83s\n",
      "* 1081   119              13       0.3443957    0.26313  23.6%  35.3   83s\n",
      "* 1133   113              16       0.3443551    0.26936  21.8%  34.9   84s\n",
      "H 1138   117                       0.3187077    0.26936  15.5%  34.8   84s\n",
      "H 1260   127                       0.3160179    0.27136  14.1%  34.8   84s\n",
      "  1314   133    0.31289   14    2    0.31602    0.27136  14.1%  34.3   85s\n",
      "* 1380   144              19       0.3159919    0.27251  13.8%  33.4   85s\n",
      "* 1631   169              22       0.3135797    0.27251  13.1%  29.8   86s\n",
      "* 1875   198              24       0.3129397    0.27507  12.1%  26.9   87s\n",
      "* 1984   206              22       0.3124647    0.27507  12.0%  26.2   87s\n",
      "* 1989   206              24       0.3116901    0.27507  11.7%  26.1   87s\n",
      "* 1990   206              25       0.3116526    0.27507  11.7%  26.1   87s\n",
      "H 2095   208                       0.3091515    0.27507  11.0%  25.2   87s\n",
      "* 2189   193              28       0.3091366    0.27601  10.7%  24.7   88s\n",
      "* 2190   193              28       0.3091348    0.27601  10.7%  24.7   88s\n",
      "* 2479   133              31       0.3086689    0.27686  10.3%  23.1   89s\n",
      "* 2481   133              32       0.3086331    0.27686  10.3%  23.1   89s\n",
      "  2609   126    0.27698   27   65    0.30863    0.27698  10.3%  22.3   90s\n",
      "* 2617   126              33       0.3068075    0.27711  9.68%  22.3   90s\n",
      "* 3041     7              44       0.3065000    0.27846  9.15%  20.3   91s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "* 3056     6              45       0.3058881    0.27880  8.86%  20.3   92s\n",
      "* 3076     3              47       0.3056078    0.27912  8.67%  20.3   92s\n",
      "* 3097     3              47       0.3054962    0.27913  8.63%  20.1   92s\n",
      "* 3111     4              50       0.3047687    0.27921  8.39%  20.1   92s\n",
      "* 3148     5              50       0.3043482    0.27976  8.08%  20.0   93s\n",
      "* 3159     5              54       0.3043257    0.27989  8.03%  19.9   93s\n",
      "* 3163     5              52       0.3041664    0.27992  7.97%  20.0   93s\n",
      "* 3167     5              53       0.3041609    0.27992  7.97%  19.9   93s\n",
      "* 3184     7              59       0.3040875    0.28056  7.74%  19.9   93s\n",
      "* 3185     7              60       0.3040808    0.28056  7.73%  19.9   93s\n",
      "* 3195     7              54       0.3038967    0.28056  7.68%  19.8   93s\n",
      "* 3198     7              55       0.3038901    0.28056  7.68%  19.8   93s\n",
      "* 3211     8              58       0.3027450    0.28107  7.16%  19.7   94s\n",
      "* 3223     8              57       0.3024774    0.28107  7.08%  19.7   94s\n",
      "* 3266     3              59       0.3024078    0.28123  7.00%  19.5   94s\n",
      "* 3268     3              60       0.3023946    0.28123  7.00%  19.5   94s\n",
      "  3300    11    0.30217   58    2    0.30239    0.28176  6.82%  19.3   95s\n",
      "* 3304    11              60       0.3021865    0.28176  6.76%  19.3   95s\n",
      "* 3305    11              61       0.3021719    0.28176  6.75%  19.3   95s\n",
      "* 3314    11              60       0.3018361    0.28176  6.65%  19.3   95s\n",
      "* 3316    11              61       0.3018205    0.28176  6.65%  19.3   95s\n",
      "* 3342    11              62       0.3013717    0.28210  6.39%  19.2   95s\n",
      "* 3344    11              63       0.3013541    0.28210  6.39%  19.1   95s\n",
      "* 3365     3              66       0.2975782    0.28242  5.09%  19.1   95s\n",
      "* 3394     4              67       0.2964932    0.28277  4.63%  18.9   95s\n",
      "* 3450     3              68       0.2956768    0.28371  4.05%  18.7   96s\n",
      "* 3452     3              69       0.2956451    0.28371  4.04%  18.7   96s\n",
      "* 3453     3              69       0.2956439    0.28371  4.04%  18.7   96s\n",
      "* 3490     5              69       0.2953079    0.28384  3.88%  18.5   97s\n",
      "* 3519     6              75       0.2952376    0.28437  3.68%  18.4   97s\n",
      "* 3537     5              74       0.2934945    0.28476  2.98%  18.3   97s\n",
      "* 3595     7              76       0.2925031    0.28505  2.55%  18.1   98s\n",
      "* 3613     6              76       0.2923753    0.28520  2.45%  18.0   98s\n",
      "* 3633     6              77       0.2920067    0.28525  2.31%  17.9   98s\n",
      "* 3647     4              77       0.2908452    0.28540  1.87%  17.8   98s\n",
      "* 3670     6              80       0.2898546    0.28594  1.35%  17.8   99s\n",
      "* 3677     6              77       0.2897589    0.28600  1.30%  17.7   99s\n",
      "* 3709     4              80       0.2889532    0.28624  0.94%  17.6   99s\n",
      "* 3712     4              82       0.2889254    0.28624  0.93%  17.6   99s\n",
      "* 3713     4              82       0.2889243    0.28624  0.93%  17.6   99s\n",
      "  3728     4 infeasible   74         0.28892    0.28626  0.92%  17.5  100s\n",
      "* 3738     4              83       0.2882955    0.28677  0.53%  17.5  100s\n",
      "* 3757     5              82       0.2882893    0.28757  0.25%  17.4  100s\n",
      "* 3761     5              81       0.2877940    0.28759  0.07%  17.4  100s\n",
      "* 3768     5              82       0.2876698    0.28759  0.03%  17.4  100s\n",
      "* 3785     0              84       0.2876147    0.28761  0.00%  17.3  100s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 513\n",
      "  Gomory: 3\n",
      "  Cover: 73\n",
      "  Implied bound: 929\n",
      "  Clique: 588\n",
      "  MIR: 2224\n",
      "  Flow cover: 4\n",
      "  RLT: 102\n",
      "  Relax-and-lift: 687\n",
      "\n",
      "Explored 3787 nodes (82703 simplex iterations) in 100.51 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 10: 0.287615 0.28767 0.287794 ... 0.289855\n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 2.876147034527e-01, best bound 2.876147034527e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0x848fdb06\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [2e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8002 rows and 6002 columns\n",
      "Presolve time: 0.02s\n",
      "Presolved: 4 rows, 2 columns, 8 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 2 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 1.748970e-01, 0 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.1748970    0.17490  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.174897 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.748970000000e-01, best bound 1.748970000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0xe5281680\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [3e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 1.457065e-02, 6008 iterations, 1.07 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.01457    0  832          -    0.01457      -     -   10s\n",
      "     0     0    0.03938    0  946          -    0.03938      -     -   18s\n",
      "     0     0    0.04108    0 1116          -    0.04108      -     -   21s\n",
      "     0     0    0.04213    0 1116          -    0.04213      -     -   26s\n",
      "     0     0    0.04309    0  894          -    0.04309      -     -   27s\n",
      "     0     0    0.04384    0  892          -    0.04384      -     -   32s\n",
      "     0     0    0.04674    0  948          -    0.04674      -     -   33s\n",
      "     0     0    0.04761    0  947          -    0.04761      -     -   38s\n",
      "     0     0    0.04906    0  948          -    0.04906      -     -   40s\n",
      "     0     0    0.05108    0  948          -    0.05108      -     -   44s\n",
      "     0     0    0.05195    0  857          -    0.05195      -     -   45s\n",
      "     0     0    0.05252    0 1057          -    0.05252      -     -   50s\n",
      "     0     0    0.05399    0 1057          -    0.05399      -     -   50s\n",
      "     0     0    0.05507    0 1055          -    0.05507      -     -   55s\n",
      "     0     0    0.05559    0 1058          -    0.05559      -     -   56s\n",
      "     0     0    0.05702    0 1056          -    0.05702      -     -   60s\n",
      "     0     0    0.05833    0 1080          -    0.05833      -     -   61s\n",
      "     0     0    0.05956    0 1079          -    0.05956      -     -   66s\n",
      "     0     0    0.05987    0 1161          -    0.05987      -     -   66s\n",
      "     0     0    0.06062    0 1162          -    0.06062      -     -   73s\n",
      "     0     0    0.06089    0 1218          -    0.06089      -     -   74s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     0     0    0.06118    0 1730          -    0.06118      -     -   86s\n",
      "     0     0    0.06174    0 1731          -    0.06174      -     -   87s\n",
      "     0     0    0.06296    0 1730          -    0.06296      -     -   93s\n",
      "     0     0    0.06345    0 1723          -    0.06345      -     -   93s\n",
      "     0     0    0.06412    0 1247          -    0.06412      -     -   98s\n",
      "     0     0    0.06491    0 1343          -    0.06491      -     -   99s\n",
      "     0     0    0.06580    0 1299          -    0.06580      -     -  103s\n",
      "     0     0    0.06689    0 1411          -    0.06689      -     -  105s\n",
      "     0     0    0.06834    0 1595          -    0.06834      -     -  110s\n",
      "     0     0    0.06902    0 1707          -    0.06902      -     -  111s\n",
      "     0     0    0.06963    0 1709          -    0.06963      -     -  118s\n",
      "     0     0    0.07025    0 1616          -    0.07025      -     -  119s\n",
      "     0     0    0.07288    0 1710          -    0.07288      -     -  125s\n",
      "     0     0    0.07319    0 1709          -    0.07319      -     -  127s\n",
      "     0     0    0.07346    0 1709          -    0.07346      -     -  133s\n",
      "     0     0    0.07481    0 1708          -    0.07481      -     -  137s\n",
      "     0     0    0.07525    0 1693          -    0.07525      -     -  143s\n",
      "     0     0    0.07557    0 1708          -    0.07557      -     -  145s\n",
      "     0     0    0.07591    0 1709          -    0.07591      -     -  152s\n",
      "     0     0    0.07647    0 1680          -    0.07647      -     -  157s\n",
      "     0     0    0.07726    0 1673          -    0.07726      -     -  163s\n",
      "     0     0    0.07801    0 1701          -    0.07801      -     -  166s\n",
      "     0     0    0.07821    0 1706          -    0.07821      -     -  172s\n",
      "     0     0    0.07845    0 1706          -    0.07845      -     -  175s\n",
      "     0     0    0.07864    0 1705          -    0.07864      -     -  180s\n",
      "     0     0    0.07864    0 1497          -    0.07864      -     -  184s\n",
      "H    0     0                       0.2070160    0.07864  62.0%     -  185s\n",
      "     0     2    0.07864    0 1497    0.20702    0.07864  62.0%     -  186s\n",
      "     3     4    0.14541    2 1348    0.20702    0.08023  61.2%  3609  192s\n",
      "   132    33 infeasible   10         0.20702    0.16870  18.5%   291  195s\n",
      "   524    65     cutoff   23         0.20702    0.17317  16.4%  89.8  201s\n",
      "   828    38    0.19604   15    2    0.20702    0.17455  15.7%  80.4  205s\n",
      "   994    13    0.17555   20   78    0.20702    0.17555  15.2%  77.0  210s\n",
      "  1303    11    0.18852   42   17    0.20702    0.18821  9.08%   112  215s\n",
      "* 1376    34              48       0.2068168    0.18821  8.99%   107  215s\n",
      "* 1385    34              60       0.2068075    0.18821  8.99%   106  215s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 167\n",
      "  Gomory: 14\n",
      "  Cover: 1177\n",
      "  Implied bound: 7366\n",
      "  Clique: 1448\n",
      "  MIR: 6423\n",
      "  Flow cover: 130\n",
      "  RLT: 157\n",
      "  Relax-and-lift: 4422\n",
      "\n",
      "Explored 1524 nodes (275000 simplex iterations) in 217.05 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 3: 0.206808 0.206817 0.207016 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Warning: max constraint violation (2.2959e-06) exceeds tolerance\n",
      "Best objective 2.068075086284e-01, best bound 2.068075086284e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0xeb9c6092\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [3e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8002 rows and 6002 columns\n",
      "Presolve time: 0.01s\n",
      "Presolved: 4 rows, 2 columns, 8 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 2 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 1.134290e-01, 0 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.1134290    0.11343  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.113429 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.134290000000e-01, best bound 1.134290000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0x9937f110\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [4e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 0.000000e+00, 3785 iterations, 0.27 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.00000    0 1169          -    0.00000      -     -   15s\n",
      "     0     0    0.01562    0  665          -    0.01562      -     -   22s\n",
      "     0     0    0.01611    0  656          -    0.01611      -     -   22s\n",
      "     0     0    0.01709    0  643          -    0.01709      -     -   28s\n",
      "     0     0    0.01721    0  646          -    0.01721      -     -   29s\n",
      "     0     0    0.01813    0  673          -    0.01813      -     -   33s\n",
      "     0     0    0.01932    0  721          -    0.01932      -     -   35s\n",
      "     0     0    0.01999    0  756          -    0.01999      -     -   39s\n",
      "     0     0    0.02034    0  755          -    0.02034      -     -   39s\n",
      "     0     0    0.02074    0  776          -    0.02074      -     -   46s\n",
      "     0     0    0.02178    0  805          -    0.02178      -     -   48s\n",
      "     0     0    0.02187    0 1073          -    0.02187      -     -   52s\n",
      "     0     0    0.02223    0  824          -    0.02223      -     -   53s\n",
      "     0     0    0.02243    0  827          -    0.02243      -     -   56s\n",
      "     0     0    0.02270    0  842          -    0.02270      -     -   58s\n",
      "     0     0    0.02279    0  849          -    0.02279      -     -   60s\n",
      "     0     0    0.02314    0  848          -    0.02314      -     -   62s\n",
      "     0     0    0.02368    0  883          -    0.02368      -     -   65s\n",
      "     0     0    0.02394    0  892          -    0.02394      -     -   67s\n",
      "     0     0    0.02418    0  899          -    0.02418      -     -   70s\n",
      "     0     0    0.02422    0 1228          -    0.02422      -     -   79s\n",
      "     0     0    0.02432    0 1232          -    0.02432      -     -   85s\n",
      "     0     0    0.02460    0  920          -    0.02460      -     -   86s\n",
      "     0     0    0.02474    0  927          -    0.02474      -     -   90s\n",
      "     0     0    0.02508    0 1157          -    0.02508      -     -   91s\n",
      "     0     0    0.02533    0 1175          -    0.02533      -     -   99s\n",
      "     0     0    0.02566    0  973          -    0.02566      -     -  102s\n",
      "     0     0    0.02587    0  983          -    0.02587      -     -  107s\n",
      "     0     0    0.02663    0 1393          -    0.02663      -     -  113s\n",
      "     0     0    0.02677    0 1094          -    0.02677      -     -  121s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     0     0    0.02703    0 1360          -    0.02703      -     -  123s\n",
      "     0     0    0.02713    0 1418          -    0.02713      -     -  132s\n",
      "     0     0    0.02812    0 1251          -    0.02812      -     -  140s\n",
      "     0     0    0.02849    0 1298          -    0.02849      -     -  145s\n",
      "     0     0    0.02889    0 1301          -    0.02889      -     -  147s\n",
      "     0     0    0.02952    0 1342          -    0.02952      -     -  155s\n",
      "     0     0    0.03006    0 1507          -    0.03006      -     -  157s\n",
      "     0     0    0.03051    0 1354          -    0.03051      -     -  167s\n",
      "     0     0    0.03137    0 1425          -    0.03137      -     -  168s\n",
      "     0     0    0.03177    0 1390          -    0.03177      -     -  175s\n",
      "     0     0    0.03220    0 1380          -    0.03220      -     -  176s\n",
      "     0     0    0.03263    0 1394          -    0.03263      -     -  182s\n",
      "     0     0    0.03284    0 1387          -    0.03284      -     -  183s\n",
      "     0     0    0.03458    0 1114          -    0.03458      -     -  190s\n",
      "     0     0    0.03502    0 1179          -    0.03502      -     -  193s\n",
      "     0     0    0.03523    0 1344          -    0.03523      -     -  202s\n",
      "     0     0    0.03646    0 1097          -    0.03646      -     -  206s\n",
      "     0     0    0.03668    0 1453          -    0.03668      -     -  214s\n",
      "     0     0    0.03680    0 1622          -    0.03680      -     -  216s\n",
      "     0     0    0.03688    0 1739          -    0.03688      -     -  224s\n",
      "     0     0    0.03688    0 1738          -    0.03688      -     -  228s\n",
      "     0     2    0.03688    0 1738          -    0.03688      -     -  237s\n",
      "     3     8    0.15144    2 1051          -    0.04074      -  3437  240s\n",
      "*   92    52               8       0.3072063    0.04173  86.4%   367  243s\n",
      "H   94    55                       0.2197485    0.04173  81.0%   359  243s\n",
      "H  102    55                       0.2145453    0.04173  80.5%   331  243s\n",
      "   145    58 infeasible   12         0.21455    0.08380  60.9%   263  245s\n",
      "H  147    58                       0.1614450    0.08380  48.1%   295  245s\n",
      "   578    81    0.12533   23    7    0.16144    0.09963  38.3%   109  250s\n",
      "  1091    84    0.11632   16    6    0.16144    0.10953  32.2%  79.8  255s\n",
      "  1674   106    0.11404   21    3    0.16144    0.11320  29.9%  90.9  260s\n",
      "  1976    55     cutoff   33         0.16144    0.14136  12.4%   126  265s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 65\n",
      "  Gomory: 33\n",
      "  Cover: 1537\n",
      "  Implied bound: 5150\n",
      "  Clique: 1173\n",
      "  MIR: 9455\n",
      "  Flow cover: 903\n",
      "  RLT: 110\n",
      "  Relax-and-lift: 2719\n",
      "\n",
      "Explored 2359 nodes (480566 simplex iterations) in 269.00 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 4: 0.161445 0.214545 0.219749 0.307206 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.614450000000e-01, best bound 1.614450000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0x0166cf9b\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [4e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8000 rows and 6001 columns\n",
      "Presolve time: 0.02s\n",
      "Presolved: 6 rows, 3 columns, 12 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 3 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 1.148290e-01, 0 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.1148290    0.11483  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (0 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.114829 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.148290000000e-01, best bound 1.148290000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0xd6c981da\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [5e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.13s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 0.000000e+00, 2052 iterations, 0.02 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.00000    0    2          -    0.00000      -     -    1s\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   36s\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   38s\n",
      "     0     0    0.00323    0  755          -    0.00323      -     -   45s\n",
      "     0     0    0.00374    0  629          -    0.00374      -     -   49s\n",
      "     0     0    0.00516    0  719          -    0.00516      -     -   53s\n",
      "     0     0    0.00524    0  723          -    0.00524      -     -   53s\n",
      "     0     0    0.00565    0  697          -    0.00565      -     -   56s\n",
      "     0     0    0.00587    0  780          -    0.00587      -     -   56s\n",
      "     0     0    0.00603    0  780          -    0.00603      -     -   58s\n",
      "     0     0    0.00604    0  801          -    0.00604      -     -   58s\n",
      "     0     0    0.00605    0  801          -    0.00605      -     -   61s\n",
      "     0     0    0.00605    0  801          -    0.00605      -     -   61s\n",
      "     0     0    0.00605    0  802          -    0.00605      -     -   63s\n",
      "     0     0    0.00605    0  802          -    0.00605      -     -   64s\n",
      "     0     2    0.00605    0  802          -    0.00605      -     -   76s\n",
      "*   99    64               9       0.2074842    0.02748  86.8%   428   79s\n",
      "H  112    67                       0.1913878    0.03189  83.3%   378   79s\n",
      "*  116    67              12       0.1752089    0.03189  81.8%   367   79s\n",
      "H  117    67                       0.1750270    0.03189  81.8%   364   79s\n",
      "H  121    67                       0.1497249    0.03189  78.7%   355   79s\n",
      "   149    56    0.07892    6    2    0.14972    0.03189  78.7%   314   80s\n",
      "H  253    44                       0.1128970    0.03242  71.3%   196   82s\n",
      "   312    40    0.07787    9    2    0.11290    0.03285  70.9%   196   85s\n",
      "   644    28    0.08310   15    2    0.11290    0.03478  69.2%   124   90s\n",
      "   893     2    0.06987   48    2    0.11290    0.04245  62.4%   198   95s\n",
      "  1011     7    0.06193   69    2    0.11290    0.04880  56.8%   250  100s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 26\n",
      "  Cover: 61\n",
      "  Implied bound: 1311\n",
      "  Clique: 65\n",
      "  MIR: 452\n",
      "  RLT: 75\n",
      "  Relax-and-lift: 1249\n",
      "\n",
      "Explored 1175 nodes (434918 simplex iterations) in 104.51 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 6: 0.112897 0.149725 0.175027 ... 0.207484\n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.128970000000e-01, best bound 1.128970000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0xfacda74c\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [5e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8000 rows and 6001 columns\n",
      "Presolve time: 0.02s\n",
      "Presolved: 6 rows, 3 columns, 12 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 3 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 1.206660e-01, 2 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.12067    0    1          -    0.12067      -     -    0s\n",
      "H    0     0                       0.1206660    0.12067  0.00%     -    0s\n",
      "\n",
      "Explored 1 nodes (2 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.120666 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.206660000000e-01, best bound 1.206660000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0x786f89f3\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [6e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 0.000000e+00, 2057 iterations, 0.02 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.00000    0 2000          -    0.00000      -     -   28s\n",
      "     0     0    0.00000    0 1996          -    0.00000      -     -   40s\n",
      "     0     0    0.00000    0 1960          -    0.00000      -     -   40s\n",
      "     0     0    0.00000    0    2          -    0.00000      -     -   45s\n",
      "     0     0    0.00000    0  332          -    0.00000      -     -   48s\n",
      "     0     0    0.00004    0 1893          -    0.00004      -     -   52s\n",
      "     0     0    0.00010    0 1893          -    0.00010      -     -   52s\n",
      "     0     0    0.00042    0 1688          -    0.00042      -     -   58s\n",
      "     0     0    0.00053    0  626          -    0.00053      -     -   59s\n",
      "     0     0    0.00053    0  626          -    0.00053      -     -   62s\n",
      "     0     0    0.00053    0  628          -    0.00053      -     -   62s\n",
      "     0     0    0.00060    0  626          -    0.00060      -     -   64s\n",
      "     0     0    0.00065    0  628          -    0.00065      -     -   65s\n",
      "     0     0    0.00071    0  694          -    0.00071      -     -   69s\n",
      "     0     0    0.00075    0  630          -    0.00075      -     -   69s\n",
      "     0     0    0.00078    0  444          -    0.00078      -     -   74s\n",
      "     0     0    0.00079    0  644          -    0.00079      -     -   75s\n",
      "     0     0    0.00083    0  648          -    0.00083      -     -   79s\n",
      "     0     0    0.00086    0  696          -    0.00086      -     -   79s\n",
      "     0     0    0.00089    0  822          -    0.00089      -     -   82s\n",
      "     0     0    0.00092    0  859          -    0.00092      -     -   83s\n",
      "     0     0    0.00094    0  765          -    0.00094      -     -   86s\n",
      "     0     0    0.00094    0  773          -    0.00094      -     -   86s\n",
      "     0     0    0.00094    0  773          -    0.00094      -     -   89s\n",
      "     0     0    0.00095    0  784          -    0.00095      -     -   89s\n",
      "     0     0    0.00095    0  749          -    0.00095      -     -   93s\n",
      "     0     0    0.00095    0  753          -    0.00095      -     -   94s\n",
      "     0     0    0.00095    0  717          -    0.00095      -     -   97s\n",
      "     0     0    0.00099    0  801          -    0.00099      -     -   98s\n",
      "     0     0    0.00100    0  670          -    0.00100      -     -  101s\n",
      "     0     0    0.00102    0  760          -    0.00102      -     -  102s\n",
      "     0     0    0.00104    0  674          -    0.00104      -     -  105s\n",
      "     0     0    0.00104    0  672          -    0.00104      -     -  105s\n",
      "     0     0    0.00105    0  676          -    0.00105      -     -  108s\n",
      "     0     0    0.00105    0  675          -    0.00105      -     -  109s\n",
      "     0     0    0.00105    0  673          -    0.00105      -     -  111s\n",
      "     0     0    0.00106    0  774          -    0.00106      -     -  113s\n",
      "     0     0    0.00106    0  846          -    0.00106      -     -  115s\n",
      "     0     0    0.00106    0  837          -    0.00106      -     -  115s\n",
      "     0     0    0.00106    0  838          -    0.00106      -     -  118s\n",
      "     0     0    0.00106    0  838          -    0.00106      -     -  119s\n",
      "     0     2    0.00106    0  838          -    0.00106      -     -  121s\n",
      "    31    22 infeasible    6               -    0.00444      -   991  125s\n",
      "*   60    30               6       0.1178526    0.00444  96.2%   519  125s\n",
      "H   66    33                       0.0717374    0.00444  93.8%   471  125s\n",
      "H  105    35                       0.0631562    0.00444  93.0%   437  127s\n",
      "H  110    35                       0.0620590    0.00444  92.8%   458  127s\n",
      "   306    15    0.01718   11    2    0.06206    0.01718  72.3%   379  130s\n",
      "\n",
      "Cutting planes:\n",
      "  Gomory: 29\n",
      "  Cover: 67\n",
      "  Implied bound: 383\n",
      "  Clique: 29\n",
      "  MIR: 730\n",
      "  Flow cover: 5\n",
      "  RLT: 87\n",
      "  Relax-and-lift: 1371\n",
      "\n",
      "Explored 484 nodes (251933 simplex iterations) in 133.55 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 4: 0.062059 0.0631562 0.0717374 0.117853 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 6.205900000000e-02, best bound 6.205900000000e-02, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0x69f25195\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [6e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8000 rows and 6001 columns\n",
      "Presolve time: 0.02s\n",
      "Presolved: 6 rows, 3 columns, 12 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 3 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 1.713660e-01, 2 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.17137    0    1          -    0.17137      -     -    0s\n",
      "H    0     0                       0.1713660    0.17137  0.00%     -    0s\n",
      "\n",
      "Explored 1 nodes (2 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Solution count 1: 0.171366 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.713660000000e-01, best bound 1.713660000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0xfd091e91\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [7e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 0.000000e+00, 3799 iterations, 0.13 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   28s\n",
      "     0     0    0.00000    0 1963          -    0.00000      -     -   40s\n",
      "     0     0    0.00000    0 1944          -    0.00000      -     -   40s\n",
      "     0     0    0.00000    0    2          -    0.00000      -     -   47s\n",
      "     0     0    0.00000    0    2          -    0.00000      -     -   48s\n",
      "     0     2    0.00000    0    2          -    0.00000      -     -   49s\n",
      "     1     4    0.00010    1 1996          -    0.00000      -  5390   50s\n",
      "*   53    32               6       0.0164459    0.00779  52.7%   752   52s\n",
      "*   70    20               8       0.0161172    0.00779  51.7%   570   53s\n",
      "*   81    20              10       0.0136386    0.00804  41.1%   493   53s\n",
      "*  107    10              11       0.0136142    0.00825  39.4%   397   53s\n",
      "*  158    13              11       0.0134360    0.00916  31.8%   315   54s\n",
      "*  162    13              12       0.0134100    0.00916  31.7%   308   54s\n",
      "*  175    11              15       0.0130726    0.00939  28.2%   299   54s\n",
      "H  192     9                       0.0106040    0.00962  9.30%   299   54s\n",
      "H  193     9                       0.0101929    0.00962  5.64%   298   54s\n",
      "   198     6    0.01008   15    3    0.01019    0.00985  3.39%   312   55s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 11\n",
      "  Cover: 1941\n",
      "  Clique: 324\n",
      "  Relax-and-lift: 672\n",
      "\n",
      "Explored 223 nodes (95274 simplex iterations) in 55.39 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 9: 0.0101929 0.010604 0.0130726 ... 0.0164459\n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.019285947278e-02, best bound 1.019245698231e-02, gap 0.0039%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0x8ef7d072\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [7e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8000 rows and 6001 columns\n",
      "Presolve time: 0.02s\n",
      "Presolved: 6 rows, 3 columns, 12 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 3 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 2.220660e-01, 2 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.22207    0    1          -    0.22207      -     -    0s\n",
      "H    0     0                       0.2220660    0.22207  0.00%     -    0s\n",
      "\n",
      "Explored 1 nodes (2 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.222066 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 2.220660000000e-01, best bound 2.220660000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0x34059da7\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [8e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 0.000000e+00, 7266 iterations, 0.80 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   30s\n",
      "     0     0    0.00480    0 1880          -    0.00480      -     -   37s\n",
      "     0     0    0.00643    0 1882          -    0.00643      -     -   40s\n",
      "     0     0    0.00681    0 1882          -    0.00681      -     -   40s\n",
      "     0     0    0.02513    0 1531          -    0.02513      -     -   46s\n",
      "     0     0    0.02518    0 1531          -    0.02518      -     -   46s\n",
      "     0     0    0.02624    0 1531          -    0.02624      -     -   52s\n",
      "     0     0    0.02628    0 1531          -    0.02628      -     -   52s\n",
      "     0     0    0.02638    0 1531          -    0.02638      -     -   59s\n",
      "     0     0    0.02639    0 1530          -    0.02639      -     -   60s\n",
      "     0     0    0.02902    0 1366          -    0.02902      -     -   65s\n",
      "     0     0    0.03302    0 1368          -    0.03302      -     -   66s\n",
      "     0     0    0.03306    0 1368          -    0.03306      -     -   71s\n",
      "     0     0    0.03310    0 1368          -    0.03310      -     -   71s\n",
      "     0     0    0.03312    0 1368          -    0.03312      -     -   74s\n",
      "     0     0    0.03312    0 1368          -    0.03312      -     -   74s\n",
      "     0     0    0.03315    0 1368          -    0.03315      -     -   78s\n",
      "     0     0    0.03315    0 1368          -    0.03315      -     -   78s\n",
      "H    0     0                       0.0800000    0.03315  58.6%     -   78s\n",
      "     0     2    0.03315    0 1368    0.08000    0.03315  58.6%     -   79s\n",
      "     1     2     cutoff    1         0.08000    0.03315  58.6% 11003   81s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 18\n",
      "  Gomory: 99\n",
      "  Cover: 1012\n",
      "  Implied bound: 587\n",
      "  Clique: 357\n",
      "  MIR: 219\n",
      "  Flow cover: 111\n",
      "  RLT: 321\n",
      "  Relax-and-lift: 2\n",
      "\n",
      "Explored 53 nodes (65293 simplex iterations) in 83.54 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.08 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 8.000000000000e-02, best bound 8.000000000000e-02, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0x9288ea24\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [8e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8000 rows and 6001 columns\n",
      "Presolve time: 0.02s\n",
      "Presolved: 6 rows, 3 columns, 12 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 3 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 3.122060e-01, 1 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.3122060    0.31221  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (1 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.312206 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 3.122060000000e-01, best bound 3.122060000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0x5a1474a2\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [9e-01, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n",
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 0.000000e+00, 7595 iterations, 0.74 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   30s\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   35s\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   36s\n",
      "     0     0    0.00004    0 2002          -    0.00004      -     -   42s\n",
      "     0     0    0.00005    0 2002          -    0.00005      -     -   42s\n",
      "     0     0    0.00011    0 2002          -    0.00011      -     -   48s\n",
      "     0     0    0.00011    0 2002          -    0.00011      -     -   48s\n",
      "     0     0    0.00012    0 2002          -    0.00012      -     -   56s\n",
      "     0     0    0.00012    0 2001          -    0.00012      -     -   56s\n",
      "     0     0    0.00015    0 2001          -    0.00015      -     -   64s\n",
      "     0     0    0.00015    0 2002          -    0.00015      -     -   65s\n",
      "     0     0    0.00021    0 2002          -    0.00021      -     -   74s\n",
      "     0     0    0.00021    0 2002          -    0.00021      -     -   74s\n",
      "     0     0    0.00021    0 2002          -    0.00021      -     -   80s\n",
      "     0     0    0.00021    0 2002          -    0.00021      -     -   80s\n",
      "     0     0    0.00021    0 2002          -    0.00021      -     -   85s\n",
      "     0     0    0.00021    0 2002          -    0.00021      -     -   86s\n",
      "H    0     0                       0.9980000    0.00021   100%     -  103s\n",
      "H    0     0                       0.7345040    0.00021   100%     -  103s\n",
      "H    0     0                       0.5363240    0.00021   100%     -  104s\n",
      "     0     0    0.09126    0  986    0.53632    0.09126  83.0%     -  107s\n",
      "H    0     0                       0.4749520    0.09126  80.8%     -  107s\n",
      "     0     0    0.11309    0  987    0.47495    0.11309  76.2%     -  109s\n",
      "H    0     0                       0.3390847    0.11309  66.6%     -  110s\n",
      "     0     0    0.11456    0  987    0.33908    0.11456  66.2%     -  110s\n",
      "     0     0    0.11557    0  987    0.33908    0.11557  65.9%     -  114s\n",
      "     0     0    0.11613    0  988    0.33908    0.11613  65.8%     -  114s\n",
      "     0     0    0.11653    0  988    0.33908    0.11653  65.6%     -  116s\n",
      "H    0     0                       0.2146563    0.11653  45.7%     -  116s\n",
      "     0     0    0.11664    0  988    0.21466    0.11664  45.7%     -  116s\n",
      "     0     0    0.11676    0  988    0.21466    0.11676  45.6%     -  127s\n",
      "     0     0    0.11682    0  988    0.21466    0.11682  45.6%     -  127s\n",
      "     0     0    0.11696    0  988    0.21466    0.11696  45.5%     -  133s\n",
      "     0     0    0.11698    0  988    0.21466    0.11698  45.5%     -  133s\n",
      "     0     0    0.11703    0  988    0.21466    0.11703  45.5%     -  142s\n",
      "     0     0    0.11703    0  988    0.21466    0.11703  45.5%     -  145s\n",
      "H    0     0                       0.1800000    0.11703  35.0%     -  145s\n",
      "     0     2    0.11703    0  988    0.18000    0.11703  35.0%     -  146s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 6\n",
      "  Gomory: 187\n",
      "  Cover: 1290\n",
      "  Implied bound: 657\n",
      "  Clique: 156\n",
      "  MIR: 198\n",
      "  Flow cover: 123\n",
      "  RLT: 703\n",
      "  Relax-and-lift: 59\n",
      "\n",
      "Explored 54 nodes (112744 simplex iterations) in 147.44 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 4: 0.18 0.214656 0.339085 0.474952 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 1.800000000000e-01, best bound 1.800000000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0xd2cc58ba\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [9e-01, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8000 rows and 6001 columns\n",
      "Presolve time: 0.02s\n",
      "Presolved: 6 rows, 3 columns, 12 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 3 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 4.122060e-01, 1 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.4122060    0.41221  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (1 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.412206 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 4.122060000000e-01, best bound 4.122060000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8003 rows, 6004 columns and 16005 nonzeros\n",
      "Model fingerprint: 0x5da338a6\n",
      "Model has 2001 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 1e+00]\n",
      "  QLMatrix range   [1e+00, 1e+00]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [1e+00, 1e+06]\n",
      "Presolve removed 1 rows and 0 columns\n",
      "Presolve time: 0.12s\n",
      "Presolved: 22011 rows, 10006 columns, 57961 nonzeros\n",
      "Presolved model has 2 bilinear constraint(s)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Variable types: 8006 continuous, 2000 integer (2000 binary)\n",
      "\n",
      "Root relaxation: objective 0.000000e+00, 9877 iterations, 1.98 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "     0     0    0.00000    0 2002          -    0.00000      -     -   34s\n",
      "     0     0    0.00014    0 2002          -    0.00014      -     -   40s\n",
      "     0     0    0.00017    0 2002          -    0.00017      -     -   40s\n",
      "     0     0    0.00025    0 2002          -    0.00025      -     -   46s\n",
      "     0     0    0.00032    0 2001          -    0.00032      -     -   47s\n",
      "     0     0    0.00059    0 2001          -    0.00059      -     -   54s\n",
      "     0     0    0.00059    0 2001          -    0.00059      -     -   54s\n",
      "     0     0    0.00082    0 2001          -    0.00082      -     -   68s\n",
      "     0     0    0.00086    0 2001          -    0.00086      -     -   70s\n",
      "     0     0    0.00132    0 2001          -    0.00132      -     -   79s\n",
      "     0     0    0.00138    0 2001          -    0.00138      -     -   79s\n",
      "     0     0    0.00194    0 1996          -    0.00194      -     -   88s\n",
      "     0     0    0.00199    0 1998          -    0.00199      -     -   89s\n",
      "     0     0    0.00252    0 1998          -    0.00252      -     -  100s\n",
      "     0     0    0.00269    0 1998          -    0.00269      -     -  101s\n",
      "     0     0    0.00316    0 1890          -    0.00316      -     -  112s\n",
      "     0     0    0.00327    0 1988          -    0.00327      -     -  113s\n",
      "     0     0    0.00358    0 1997          -    0.00358      -     -  126s\n",
      "     0     0    0.00375    0 1998          -    0.00375      -     -  127s\n",
      "     0     0    0.00404    0 1998          -    0.00404      -     -  134s\n",
      "     0     0    0.00415    0 1998          -    0.00415      -     -  135s\n",
      "     0     0    0.00441    0 1927          -    0.00441      -     -  144s\n",
      "     0     0    0.00441    0 1953          -    0.00441      -     -  144s\n",
      "     0     0    0.00476    0 1998          -    0.00476      -     -  155s\n",
      "     0     0    0.00483    0 1999          -    0.00483      -     -  156s\n",
      "     0     0    0.00529    0 1998          -    0.00529      -     -  167s\n",
      "     0     0    0.00536    0 1998          -    0.00536      -     -  167s\n",
      "     0     0    0.00571    0 1998          -    0.00571      -     -  175s\n",
      "     0     0    0.00589    0 1998          -    0.00589      -     -  175s\n",
      "     0     0    0.00619    0 1998          -    0.00619      -     -  184s\n",
      "     0     0    0.00635    0 1998          -    0.00635      -     -  185s\n",
      "     0     0    0.00653    0 1999          -    0.00653      -     -  193s\n",
      "     0     0    0.00661    0 1999          -    0.00661      -     -  194s\n",
      "     0     0    0.00678    0 1999          -    0.00678      -     -  200s\n",
      "     0     0    0.00694    0 1999          -    0.00694      -     -  201s\n",
      "     0     0    0.00714    0 1999          -    0.00714      -     -  205s\n",
      "     0     0    0.00753    0 1999          -    0.00753      -     -  206s\n",
      "     0     0    0.00781    0 1999          -    0.00781      -     -  210s\n",
      "     0     0    0.00800    0 1999          -    0.00800      -     -  211s\n",
      "     0     0    0.00824    0 1999          -    0.00824      -     -  215s\n",
      "     0     0    0.00838    0 1999          -    0.00838      -     -  215s\n",
      "     0     0    0.01908    0 1932          -    0.01908      -     -  226s\n",
      "     0     0    0.02024    0 1932          -    0.02024      -     -  228s\n",
      "     0     0    0.02047    0 1932          -    0.02047      -     -  234s\n",
      "     0     0    0.02138    0 1932          -    0.02138      -     -  235s\n",
      "     0     0    0.02367    0 1920          -    0.02367      -     -  242s\n",
      "     0     0    0.02390    0 1920          -    0.02390      -     -  243s\n",
      "     0     0    0.02405    0 1920          -    0.02405      -     -  248s\n",
      "     0     0    0.02411    0 1920          -    0.02411      -     -  248s\n",
      "     0     0    0.02445    0 1920          -    0.02445      -     -  253s\n",
      "     0     0    0.02468    0 1920          -    0.02468      -     -  256s\n",
      "     0     0    0.02484    0 1920          -    0.02484      -     -  260s\n",
      "     0     0    0.02496    0 1920          -    0.02496      -     -  262s\n",
      "     0     0    0.02503    0 1920          -    0.02503      -     -  266s\n",
      "     0     0    0.02516    0 1920          -    0.02516      -     -  268s\n",
      "     0     0    0.02527    0 1920          -    0.02527      -     -  272s\n",
      "     0     0    0.02532    0 1920          -    0.02532      -     -  273s\n",
      "     0     0    0.02541    0 1920          -    0.02541      -     -  277s\n",
      "     0     0    0.02542    0 1920          -    0.02542      -     -  278s\n",
      "     0     0    0.02553    0 1920          -    0.02553      -     -  283s\n",
      "     0     0    0.02556    0 1920          -    0.02556      -     -  283s\n",
      "     0     0    0.02566    0 1920          -    0.02566      -     -  287s\n",
      "     0     0    0.02567    0 1920          -    0.02567      -     -  288s\n",
      "     0     0    0.02575    0 1920          -    0.02575      -     -  292s\n",
      "     0     0    0.06401    0 1560          -    0.06401      -     -  299s\n",
      "     0     2    0.06401    0 1560          -    0.06401      -     -  301s\n",
      "*  108    56              11       0.4949303    0.20188  59.2%   267  303s\n",
      "H  122    57                       0.3627017    0.23366  35.6%   237  303s\n",
      "   250    49 infeasible   10         0.36270    0.23380  35.5%   134  305s\n",
      "*  251    49              11       0.3627017    0.23380  35.5%   133  305s\n",
      "*  300    64              13       0.3626907    0.23380  35.5%   113  305s\n",
      "*  663    76              15       0.3618879    0.23394  35.4%  83.7  310s\n",
      "*  715    68              18       0.3618531    0.23394  35.3%  79.8  311s\n",
      "*  716    68              18       0.3618519    0.23394  35.3%  79.7  311s\n",
      "*  890    77              13       0.3604699    0.24066  33.2%  73.1  313s\n",
      "*  892    79              13       0.3541532    0.24066  32.0%  72.9  313s\n",
      "*  911    80              15       0.3537364    0.24066  32.0%  71.8  313s\n",
      "*  913    80              16       0.3537180    0.24066  32.0%  71.6  313s\n",
      "H  980    80                       0.2800000    0.25200  10.0%  68.3  314s\n",
      "  1069     3     cutoff    9         0.28000    0.26040  7.00%  64.5  315s\n",
      "\n",
      "Cutting planes:\n",
      "  Learned: 58\n",
      "  Gomory: 6\n",
      "  Cover: 1220\n",
      "  Implied bound: 584\n",
      "  Clique: 494\n",
      "  MIR: 212\n",
      "  Flow cover: 62\n",
      "  RLT: 1215\n",
      "  Relax-and-lift: 160\n",
      "\n",
      "Explored 1134 nodes (265613 simplex iterations) in 316.24 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 10: 0.28 0.353718 0.353736 ... 0.362702\n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n",
      "Best objective 2.800000000000e-01, best bound 2.800000000000e-01, gap 0.0000%\n",
      "Discarded solution information\n",
      "Changed value of parameter NonConvex to 2\n",
      "   Prev: -1  Min: -1  Max: 2  Default: -1\n",
      "Changed value of parameter OptimalityTol to 1e-07\n",
      "   Prev: 1e-06  Min: 1e-09  Max: 0.01  Default: 1e-06\n",
      "Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)\n",
      "Thread count: 8 physical cores, 16 logical processors, using up to 16 threads\n",
      "Optimize a model with 8002 rows, 6004 columns and 16002 nonzeros\n",
      "Model fingerprint: 0xc82577fb\n",
      "Model has 2002 quadratic constraints\n",
      "Variable types: 4004 continuous, 2000 integer (2000 binary)\n",
      "Coefficient statistics:\n",
      "  Matrix range     [2e-04, 1e+06]\n",
      "  QMatrix range    [1e+00, 2e+00]\n",
      "  QLMatrix range   [1e+00, 3e+03]\n",
      "  Objective range  [5e-04, 5e-04]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [1e+00, 1e+06]\n",
      "  QRHS range       [5e+03, 5e+03]\n",
      "Presolve removed 8002 rows and 6002 columns\n",
      "Presolve time: 0.01s\n",
      "Presolved: 4 rows, 2 columns, 8 nonzeros\n",
      "Presolved model has 1 bilinear constraint(s)\n",
      "Variable types: 2 continuous, 0 integer (0 binary)\n",
      "\n",
      "Root relaxation: objective 5.122060e-01, 1 iterations, 0.00 seconds\n",
      "\n",
      "    Nodes    |    Current Node    |     Objective Bounds      |     Work\n",
      " Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time\n",
      "\n",
      "*    0     0               0       0.5122060    0.51221  0.00%     -    0s\n",
      "\n",
      "Explored 0 nodes (1 simplex iterations) in 0.03 seconds\n",
      "Thread count was 16 (of 16 available processors)\n",
      "\n",
      "Solution count 1: 0.512206 \n",
      "\n",
      "Optimal solution found (tolerance 1.00e-04)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best objective 5.122060000000e-01, best bound 5.122059999999e-01, gap 0.0000%\n",
      "Discarded solution information\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# to solve the second model (P1) AND (P2) together\n",
    "data_list2 =[]\n",
    "obj_list2=[]\n",
    "ratio_list2=[]\n",
    "\n",
    "\n",
    "data_list_p1=[]\n",
    "obj_list_p1=[]\n",
    "ratio_list_p1=[]\n",
    "\n",
    "data_list_p2=[]\n",
    "obj_list_p2=[]\n",
    "ratio_list_p2=[]\n",
    "\n",
    "\n",
    "P_solution_list=[]\n",
    "for i in range(num):\n",
    "    ## to solve (P1)\n",
    "    m2=Model(\"se\")\n",
    "    beta = beta_x[i]    \n",
    "    # introduce decision variables\n",
    "    lambda2=m2.addVar(name='lamuda2',lb=0,ub=1)\n",
    "    z = m2.addVars(samples, name=\"z\")\n",
    "    delta=m2.addVar(name=\"delta\")\n",
    "    I = m2.addVars(samples, vtype=GRB.BINARY, name=\"I\")\n",
    "    wg = m2.addVars(samples, name=\"wg\")\n",
    "    wf = m2.addVar(name=\"wf\")\n",
    "    wu = m2.addVar(name=\"wu\")\n",
    "    \n",
    "    # introduce constraints    \n",
    "    m2.addConstrs((z[i] >= wg[i] / v - beta for i in range(samples)), \"c0\")\n",
    "    m2.addConstrs((z[i] >= -wg[i] / v + beta for i in range(samples)), \"c1\")\n",
    "\n",
    "    m2.addConstr(delta== lambda2 * wf + (1 - lambda2) * wu, \"c2\")\n",
    "    m2.addConstr(wf==2*yl-yu+2*(yu-yl)*lambda2,\"c3\")\n",
    "    m2.addConstr(wu==yl+2*(yu-yl)*lambda2,\"c4\")\n",
    "    m2.addConstr(wmin<=2*yl-yu+2*(yu-yl)*lambda2,\"ca\")               \n",
    "    \n",
    "    m2.addConstrs((wg[i] == wf * I[i] + wu * (1 - I[i]) for i in range(samples)), \"c5\")\n",
    "    m2.addConstrs((M * I[i] >= delta - y[i] for i in range(samples)), \"c6\")\n",
    "    m2.addConstrs((M * (1 - I[i]) >= y[i] - delta for i in range(samples)), \"c7\") \n",
    "    \n",
    "    # set objective functions\n",
    " \n",
    "    m2.setParam(\"NonConvex\", 2)\n",
    "    m2.setParam(\"OptimalityTol\", 1e-7)\n",
    "    m2.setObjective(quicksum(z) / samples, GRB.MINIMIZE)\n",
    "\n",
    "    m2.update()\n",
    "    m2.optimize()\n",
    "    obj_p1=m2.objVal\n",
    "    lambda2_p1=lambda2.x\n",
    "    ratio_p1=sum([wg[i].x/v for i in range(samples)])/samples\n",
    "    ratio_list_p1.append(ratio_p1)\n",
    "    data_list_p1.append(lambda2.x)\n",
    "    #obj_list2 record the values of objective function \n",
    "    obj_list_p1.append(m2.objVal)\n",
    "    m2.reset()\n",
    "    \n",
    "    \n",
    "    ## to solve (P2)\n",
    "    m2=Model(\"se\")\n",
    "    beta = beta_x[i]    \n",
    "    # introduce decision variables\n",
    "    lambda2=m2.addVar(name='lamuda2',lb=0,ub=1)\n",
    "    z = m2.addVars(samples, name=\"z\")\n",
    "    delta=m2.addVar(name=\"delta\")\n",
    "    I = m2.addVars(samples, vtype=GRB.BINARY, name=\"I\")\n",
    "    wg = m2.addVars(samples, name=\"wg\")\n",
    "    wf = m2.addVar(name=\"wf\")\n",
    "    wu = m2.addVar(name=\"wu\")\n",
    "    \n",
    "    # introduce constraints    \n",
    "    m2.addConstrs((z[i] >= wg[i] / v - beta for i in range(samples)), \"c0\")\n",
    "    m2.addConstrs((z[i] >= -wg[i] / v + beta for i in range(samples)), \"c1\")\n",
    "\n",
    "    m2.addConstr(delta== lambda2 * wf + (1 - lambda2) * wu, \"c2\")\n",
    "    m2.addConstr(wf==wmin,\"c3\")\n",
    "    m2.addConstr(2*(1-lambda2)*wu==yu+wmin-2*lambda2*wmin,\"c4\")\n",
    "    m2.addConstr(wmin>=2*yl-yu+2*(yu-yl)*lambda2,\"ca\")               \n",
    "    \n",
    "    m2.addConstrs((wg[i] == wf * I[i] + wu * (1 - I[i]) for i in range(samples)), \"c5\")\n",
    "    m2.addConstrs((M * I[i] >= delta - y[i] for i in range(samples)), \"c6\")\n",
    "    m2.addConstrs((M * (1 - I[i]) >= y[i] - delta for i in range(samples)), \"c7\") \n",
    "    \n",
    "    # set objective functions\n",
    " \n",
    "    m2.setParam(\"NonConvex\", 2)\n",
    "    m2.setParam(\"OptimalityTol\", 1e-7)\n",
    "    m2.setObjective(quicksum(z) / samples, GRB.MINIMIZE)\n",
    "    m2.update()\n",
    "    m2.optimize()\n",
    "    if m2.status == GRB.OPTIMAL:        \n",
    "        obj_p2=m2.objVal\n",
    "        lambda2_p2=lambda2.x\n",
    "        ratio_p2=sum([wg[i].x/v for i in range(samples)])/samples\n",
    "        ratio_list_p2.append(ratio_p2)\n",
    "        data_list_p2.append(lambda2.x)\n",
    "        #obj_list2 record the values of objective function \n",
    "        obj_list_p2.append(m2.objVal)        \n",
    "    else:\n",
    "        obj_p2=100000\n",
    "        lambda2_p2='NONE'\n",
    "        ratio_p2='NONE'\n",
    "        ratio_list_p2.append(ratio_p2)\n",
    "        data_list_p2.append(lambda2_p2)\n",
    "        obj_list_p2.append('INFEASIBLE')\n",
    "    m2.reset()\n",
    "        \n",
    "    \n",
    "    if obj_p1<=obj_p2:\n",
    "        obj=obj_p1\n",
    "        lambda2_opt=lambda2_p1\n",
    "        ratio_2=ratio_p1\n",
    "        ps=1\n",
    "    if obj_p1>obj_p2:\n",
    "        obj=obj_p2\n",
    "        lambda2_opt=lambda2_p2\n",
    "        ratio_2=ratio_p2\n",
    "        ps=2\n",
    "    \n",
    "    #data_list2 record the values of lambda\n",
    "    data_list2.append(lambda2_opt)\n",
    "    #obj_list2 record the values of objective function \n",
    "    obj_list2.append(obj)\n",
    "    ratio_list2.append(ratio_2)\n",
    "    \n",
    "    P_solution_list.append(ps)\n",
    "    \n",
    "    \n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['figure.figsize'] = (20.0, 8.0)\n",
    "plt.xticks(beta_x)\n",
    "plt.xlabel('β',fontsize=20,loc=\"right\")\n",
    "plt.ylabel('λ',fontsize=20)\n",
    "\n",
    "plt.plot(beta_x,data_list, color='green', label='模型一')\n",
    "plt.plot(beta_x,data_list2, color='blue', label='模型二')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "7e12f6db",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.5000542614114896, 0.5000542614112836, 0.5415071054894818, 0.6506550218340611, 0.7598253275109171, 0.868995633187773, 0.9782935147082744, 1.0, 0.9999999999999999, 1.0]\n",
      "[0.0, 0.0, 0.0, 0.0, 0.03781512605042017, 0.3224852071005916, 0.47716894977168944, 0.5, 0.5, 0.5]\n",
      "[2, 2, 2, 2, 1, 1, 1, 1, 1, 1]\n"
     ]
    }
   ],
   "source": [
    "print(data_list_p1)\n",
    "print(data_list_p2)\n",
    "print(P_solution_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "e102feb3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## to plot the relationship between beta* and the optimal lambda* \n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['figure.figsize'] = (20.0, 8.0)\n",
    "plt.xticks(beta_x)\n",
    "plt.xlabel('β',fontsize=12,loc=\"right\")\n",
    "plt.ylabel('λ',fontsize=12)\n",
    "\n",
    "plt.plot(beta_x,data_list, color='green', label='模型一')\n",
    "plt.plot(beta_x,data_list2, color='blue', label='模型二')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "3420081f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJQAAAHfCAYAAAAGDYJNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACSdElEQVR4nOzdd3hVVd7F8e9JQgi9FwWRKggoCKGEEkDpXUqo0gULqGAdC1XEDgoovRcJRXqvCYQAoSodpffeS8p+/zgMM68DUkzYucn6PE8eL7nnJCuOk5B19/5txxiDiIiIiIiIiIjIg/KyHUBERERERERERDyLCiUREREREREREXkoKpREREREREREROShqFASEREREREREZGHokJJREREREREREQeigolERERERERERF5KD62A8SGjBkzmpw5c9qOISIiIiIiIiKSYGzcuPGMMSbT3Z5LEIVSzpw5iYiIsB1DRERERERERCTBcBzn4L2e05Y3ERERERERERF5KCqURERERERERETkoahQEhERERERERGRh5IgZijdTWRkJEeOHOHGjRu2o1jj5+dH9uzZSZIkie0oIiIiIiIiIpKAJNhC6ciRI6RKlYqcOXPiOI7tOI+dMYazZ89y5MgRcuXKZTuOiIiIiIiIiCQgCXbL240bN8iQIUOiLJMAHMchQ4YMiXqFloiIiIiIiIjEjQRbKAEeWyZFR0fHysfx1K9fREREREREROK3BF0oxQf79u2jefPmxMTEEBMTQ+3atQGoVavWnfc1atSILFmyULt2bTJlykTPnj0ZO3YsJ06coHLlykRFRVn+KkRERERERERE/kOFUhzz8/PD19eXPXv2UKlSJdavX0/FihUJDw+nUqVKrF27lmnTplGyZEnmzp1LkSJF6NOnDxs2bODGjRv4+fnh45NgR12JiIiIiIiIiAdSUxGHdu3aRXBwMHv27GH37t00a9aMM2fOkD17dnbv3k3q1Km5fv067dq1Y+vWrXTo0IGdO3fy6quvkjRpUtvxRURERERERETuKlEUSu8sfIctJ7bE6scsmrUoA6oP+NtrChQoQNasWUmVKhUFCxZk0qRJnDx58s7zFy5c4K233iJjxowcPHiQL7/8kj179vD555/TvXt3bt68eefaf89V8vb2vuvnio6OxnEcvLy06ExERERERERE4pbahzgUExPDpEmT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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## to plot the optimal objective value vs beta*\n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['figure.figsize'] = (20.0, 8.0)\n",
    "plt.xticks(beta_x)\n",
    "plt.xlabel('β',fontsize=12,loc=\"right\")\n",
    "plt.ylabel('目标函数值',fontsize=12)\n",
    "\n",
    "plt.plot(beta_x,obj_list, color='green', label='模型一')\n",
    "plt.plot(beta_x,obj_list2, color='blue', label='模型二')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "2d70cb0e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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mTuaVXfXs4qKogYNvpt61qkT7LJL5UWRf9eVpIr54zGH3n//fUaNGsXEiROZMGECvXv3Zvr06XTq1IkJEybQsmVLFixYQN++fXnzzTfp168f7733HieddNIPSiOA008/ndNPPz3BM5EkSZLqxuLF2RdFK2vQIDOiqGNHWH992G23itcosiiSpNVXL36MnnEGvPFG7X7OHXaA66+v+pgtt9ySDh060KJFC7beemtGjhzJV1999b/HZ82axWmnnUabNm345JNPuPLKK5k4cSKXXXYZF110EYsWLard0JIkSVIiixZlVxRNn/7Dc0tKviuKNtwwczvuyooilyKVpLpRLwqlVMrKyhg5ciQNGzbknHPOoaSkhDPOOON/jw8bNgyAq666in79+tGmTRuWLFlC+/btGTJkCK+++ipffPFFovSSJElS9RYtyhRBlZVEy7e/+eaH55aUQIcOmTJo443hJz+puChq29aiSJLyTb0olKobSZQrN954I3vvvTefffYZl19+OfPmzWPmzJmcffbZXHPNNVx66aXMnDmTXXbZhd69ewNw9NFHM3r0aHr06MGcOXO4+OKL04SXJElSvbZwYdVF0fL3M2b88NySkkwRtO66sOmmsNdeFa9R1KaNRZEkFap6USil0qdPH+bOncvFF1/M1KlTGThwIAATJkzghBNOoEOHDpx66ql06tSJn/70pzRu3Jhp06axaNEiBg8ezNKlSznyyCMBiDESQqj0a8UYWbZsmXeDkyRJ0ipZtAhGjIAhQ+Djj2HmzB8e07Dhd0XRZpvB3ntXXhQ1aFD3z0GSVHdsH3KodevWLFiwAICdd96Zp59+mtNOO40bb7yRyy+/nMsvv5xtttkGgJ49ewIwduxYpkyZwm9+85vvfa7rr7+e66+/nkaV3I908eLF/OUvf+Goo47K4TOSJElSsVm4EG6+Ga66CqZMgZ13ht69Ky6KWre2KJIkZVgo5diSJUtYsmQJY8aM4fbbb+ePf/wjO+20E0OGDKF3795069aNMWPG/K8omjFjBosWLWLs2LEALFu2jO7du3PmmWdy5plnJnwmkiRJKibffpsZjfSXv2Smr+21FwwfDvvvD1UMjJckCYAQY0ydYbV17tw5jhs37nv73nvvPbbaaqtEiX5o6dKlFU5Hq2x/bcm3fwdJkiSlNXculJbCtdfCtGnQtStcdBHs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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## to plot the optimal expected ratio vs beta*\n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['figure.figsize'] = (20.0, 8.0)\n",
    "plt.xticks(beta_x)\n",
    "plt.xlabel('β',fontsize=12,loc=\"right\")\n",
    "plt.ylabel('实际分配比例期望值',fontsize=12)\n",
    "\n",
    "plt.plot(beta_x,ratio_list, color='green', label='模型一')\n",
    "plt.plot(beta_x,ratio_list2, color='blue', label='模型二')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "4b31ae54",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## to plot the optimal expected ratio vs lambda*\n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['figure.figsize'] = (20.0, 8.0)\n",
    "plt.xticks(beta_x)\n",
    "plt.xlabel('lambda',fontsize=12,loc=\"right\")\n",
    "plt.ylabel('expected ratio',fontsize=12)\n",
    "\n",
    "plt.plot(data_list,ratio_list, color='green', label='模型一')\n",
    "plt.plot(data_list2,ratio_list2, color='blue', label='模型二')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "83255493",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
